2009-09-26 34 views
16

Tôi đang cố thêm bảng vào tài liệu bằng iTextSharp. Dưới đây là ví dụ:Chiều rộng bảng iTextSharp 100% của trang

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

Tôi đang đặt chiều rộng của bảng để mở rộng lề của trang. Nhưng khi pdf được tạo ra, bảng chỉ chiếm khoảng 80% không gian giữa các lề. Tôi đang làm điều gì đó không chính xác ở đây?

Trả lời

50

Trong phiên bản iTextSharp mới nhất (5.0.4), PdfPTable có thuộc tính WidthPercentage.

Để đặt giá trị tĩnh, thuộc tính là TotalWidth.

+1

[5.5.9] TotalWidth không phải là giá trị tĩnh - nó chỉ là thuộc tính đối tượng. – MaLiN2223

30

Đã tìm ra. Rõ ràng table.Width là phần trăm chứ không phải chiều rộng tính bằng pixel. Vì vậy, sử dụng:

table.Width = 100; 

Làm việc như một sự quyến rũ.

2

Người dùng cũng có thể đặt chiều rộng bảng theo phần trăm.

t.WidthPercentage = 100f; 
+2

Câu trả lời được chấp nhận đã nói điều này. – Kyle

Các vấn đề liên quan