如何设置iTextSharp生成的pdf表格的起始位置?

时间:2012-11-05 05:49:53

标签: c# asp.net pdf itextsharp

我正在使用iTextSharp和CSharp来创建pdf。我正在创建许多表。所以我需要将每个表放在不同的位置。

有可能吗?

1 个答案:

答案 0 :(得分:2)

我使用此代码是因为原始pdfptable会自动化它的位置:

        Private mywriter As PdfWriter
        Dim Theight = Table.CalculateHeights
        Dim DirectC As PdfContentByte = mywriter.DirectContent
        Dim templ = DirectC.CreateTemplate(Table.TotalWidth, Theight)
        Table.WriteSelectedRows(0, -1, 0.0F, Theight, templ)
        Dim myimage = Image.GetInstance(templ)

        Dim CenterH = (Doc.Top + Doc.BottomMargin) / 2

        Dim NewPosH = CenterH - myimage.Height / 2

        Dim CenterW = mywriter.PageSize.Width / 2
        Dim NewPosW = CenterW - myimage.Width / 2

        myimage.SetAbsolutePosition(NewPosW, NewPosH)
        DirectC.AddImage(myimage)

此代码将表格放在页面中间。注意:坐标系在LOWER左侧开始,而不是在左上角。 它的vb.net代码,但改编不应该太难。