1

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

是否可以?

4

1 回答 1

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)

此代码将表格置于页面中间。注意:坐标系从左下角开始,而不是从左上角开始。它的vb.net代码,不过适配应该不会太难。

于 2012-11-05T07:21:56.170 回答