2015-09-17 30 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 –