Vb.net 在VB net中用SetWidthPercentage方法建立Itext表格宽度

Vb.net 在VB net中用SetWidthPercentage方法建立Itext表格宽度,vb.net,itext,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) = 1

我有一个表格,我需要填写整个页面的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)
....
如果对数组
维度表a
中的所有数字求和,您将注意到其100%

我基于此示例(尽管方法已更改,但它没有更新):


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

您正在这样设置宽度百分比:

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

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

table_sem.setWidthPercentage(100); // Java!
在VB中,这可能如下所示:

table_sem.SetWidthPercentage(dimensiones_tabla, tamanyo_tabla)
table_sem.WidthPercentage = 100 // VB
请注意,这不会是整个页面的100%,因为您的左右边距可能大于0。如果希望表格覆盖整个页面宽度,则需要将左右边距设置为0