2015-09-17 31 views
0

我有一个表格,我需要填充整个页面的100%。这是我使用的代码:在VB中使用SetWidthPercentage方法建立Itext表格宽度

.... 
     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%。

回答

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 

注意这不会是页的100%,因为你可能有左,右页边距大于0.如果要将表格覆盖整个页面宽度,则需要将左右边距设置为0.

+0

非常感谢Bruno –