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?
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
.
Deviner. Apparemment, table.Width
est un pourcentage et non la largeur en pixels. Donc en utilisant:
table.Width = 100;
Travaillé comme un charme.
Les utilisateurs peuvent également définir la largeur de la table en pourcentage.
t.WidthPercentage = 100f;
La propriété WidthPercentage n'est plus disponible dans iText7. Utilisez ce qui suit à la place
table.SetWidth(new UnitValue(UnitValue.PERCENT, 100));