2009-09-26 14 views
16

iTextSharp kullanarak bir belgeye bir tablo eklemeye çalışıyorum.iTextSharp tablo genişliği Sayfanın% 100'ü

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

sayfanın marjı genişletmek gerektiğini bu yüzden tablonun genişliğini ayarlıyorum: İşte bir örnek. Ancak pdf oluşturulduğunda, tablo sadece kenar boşluğu arasındaki boşluğun yaklaşık% 80'ini alır. Burada yanlış bir şey mi yapıyorum?

cevap

50

iTextSharp'ın en son sürümünde (5.0.4), PdfPTable, WidthPercentage özelliğine sahiptir.

Statik bir değer ayarlamak için özellik TotalWidth'dur.

+1

[5.5.9] ToplamWidth statik bir değer değil - sadece nesne özelliği. – MaLiN2223

30

Şekil verilmiş. Görünüşe göre table.Width, piksel cinsinden genişlik değil, yüzdendir. Kullanarak:

table.Width = 100; 

Bir çekicilik gibi çalıştım.

2

Kullanıcılar, tablo genişliğini Yüzde olarak da ayarlayabilir.

t.WidthPercentage = 100f; 
+2

Kabul edilen cevap zaten bunu söylüyor. – Kyle

İlgili konular