2009-09-26 7 views
16

Je suis en train d'ajouter une table à un document en utilisant iTextSharp. Voici un exemple:iTextSharp table largeur 100% de la page

Document document = new Document(PageSize.LETTER,72, 72, 72, 72); 
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("C:\\test.pdf", FileMode.Create)); 

document.Open(); 
Table table = new Table (2, 1); 
table.Width = document.RightMargin - document.LeftMargin; 

// Cell placeholder 
Cell cell = new Cell (new Paragraph ("Some Text")); 
table.AddCell (cell); 
cell = new Cell (new Paragraph ("More Text")); 
table.AddCell (cell); 
document.Add (table); 
document.Close (); 

Je règle la largeur de la table afin qu'elle étende la marge de la page. Mais lorsque le pdf est créé, la table ne prend qu'environ 80% de l'espace entre les marges. Est-ce que je fais quelque chose de mal ici?

Répondre

50

Dans iTextSharp dernière version (5.0.4) le PdfPTable a une propriété WidthPercentage.

Pour définir une valeur statique, la propriété est TotalWidth.

+1

[5.5.9] TotalWidth n'est pas une valeur statique - c'est juste une propriété d'objet. – MaLiN2223

30

Compris. Apparemment table.Width est un pourcentage et non la largeur en pixels. Donc, en utilisant:

table.Width = 100; 

A travaillé comme un charme.

2

Les utilisateurs peuvent également définir la largeur de la table en pourcentage.

t.WidthPercentage = 100f; 
+2

La réponse acceptée est déjà la suivante. – Kyle

Questions connexes