2009-09-26 11 views
16

Sto tentando di aggiungere una tabella a un documento utilizzando iTextSharp. Ecco un esempio:Larghezza tabella iTextSharp 100% della pagina

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 (); 

Sto impostando la larghezza della tabella in modo che dovrebbe estendere il margine della pagina. Ma quando viene creato il pdf, la tabella occupa solo l'80% dello spazio tra i margini. Sto facendo qualcosa di sbagliato qui?

risposta

50

Nell'ultima versione di iTextSharp (5.0.4) il PdfPTable ha una proprietà WidthPercentage.

Per impostare un valore statico, la proprietà è TotalWidth.

+1

[5.5.9] TotalWidth non è un valore statico, è solo una proprietà dell'oggetto. – MaLiN2223

30

Capito. Apparentemente table.Width è una percentuale e non la larghezza in pixel. Quindi utilizzando:

table.Width = 100; 

Ha funzionato come un fascino.

2

Gli utenti possono anche impostare la larghezza della tabella in percentuale.

t.WidthPercentage = 100f; 
+2

La risposta accettata dice già questo. – Kyle

Problemi correlati