2009-09-26 16 views
16

Ich versuche, eine Tabelle zu einem Dokument mit iTextSharp hinzufügen. Hier ein Beispiel:iTextSharp Tabelle Breite 100% der Seite

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

Ich setze die Breite der Tabelle so, dass sie den Rand der Seite erweitern soll. Aber wenn die PDF erstellt wird, benötigt die Tabelle nur etwa 80% des Zwischenraums zwischen den Randbereichen. Mache ich hier etwas falsch?

Antwort

50

In der neuesten Version von iTextSharp (5.0.4) hat die PdfPTable eine WidthPercentage Eigenschaft.

Um einen statischen Wert festzulegen, lautet die Eigenschaft TotalWidth.

+1

[5.5.9] TotalWidth ist kein statischer Wert - es ist nur Immobilien-Objekt. – MaLiN2223

30

Ich habe es herausgefunden. Anscheinend ist table.Width ein Prozent und nicht die Breite in Pixeln. So mit:

table.Width = 100; 

Arbeitete wie ein Charme.

2

Benutzer können die Tabellenbreite auch in Prozent festlegen.

t.WidthPercentage = 100f; 
+2

Die akzeptierte Antwort sagt das schon. – Kyle