web-dev-qa-db-fra.com

iTextSharp largeur de la table 100% de la page

J'essaye d'ajouter un tableau à un document en utilisant iTextSharp. Voici un exemple:

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 pour qu'elle étend 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?

18
Kyle

Dans la dernière version de iTextSharp (5.0.4), la variable PdfPTable a une propriété WidthPercentage.

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

53
Jla

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

table.Width = 100;

Travaillé comme un charme.

32
Kyle

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

t.WidthPercentage = 100f;
1
mihir patel

La propriété WidthPercentage n'est plus disponible dans iText7. Utilisez ce qui suit à la place

table.SetWidth(new UnitValue(UnitValue.PERCENT, 100));
0
Kolappan Nathan