使用VB net中的SetWidthPercentage方法建立Itext表宽度

时间:2015-09-17 18:31:30

标签: vb.net itext

我有一张桌子,我需要填写整个页面的100%。这是我使用的代码:

....
       Dim tamanyo_tabla As New Rectangle(PageSize.A4)
            Dim dimensiones_tabla(11) As Single
            dimensiones_tabla(0) = 3
            dimensiones_tabla(1) = 3
            dimensiones_tabla(2) = 10
            dimensiones_tabla(3) = 10
            dimensiones_tabla(4) = 10
            dimensiones_tabla(5) = 8.33
            dimensiones_tabla(6) = 8.33
            dimensiones_tabla(7) = 12.5
            dimensiones_tabla(8) = 8.33
            dimensiones_tabla(9) = 8.33
            dimensiones_tabla(10) = 6
            dimensiones_tabla(11) = 12.18
            table_sem.SetWidthPercentage(dimensiones_tabla, tamanyo_tabla)
....

如果你对数组dimensiones_tabla中的所有数字求和,你会注意到它的100%。

我的基础是这个例子(它没有更新,尽管方法已经改变):http://itextpdf.com/examples/iia.php?id=79

我打开pdf,发现表格宽度远不是页面的100%。

1 个答案:

答案 0 :(得分:0)

您正在设置宽度百分比,如下所示:

table_sem.SetWidthPercentage(dimensiones_tabla, tamanyo_tabla)

dimensiones_tabla中所有宽度的总和为100个用户单位(1.3889英寸)。 tamanyo_tabla的宽度为595个用户单位。因此,您定义的宽度百分比为100/595 = 16.8%。 16.8%确实远不是该页面的100%。

如果您希望表格占据页面可用宽度的100%,为什么不将宽度百分比设置为100%?

table_sem.setWidthPercentage(100); // Java!

在VB中,这可能看起来像这样:

table_sem.WidthPercentage = 100 // VB

请注意,这不会是 total 页面的100%,因为您可能有一个大于0的左边距和右边距。如果您希望表格覆盖整个页面宽度,您需要将左右边距设置为0。