2009-09-26 5 views
16

Я пытаюсь добавить таблицу в документ с помощью iTextSharp. Вот пример:iTextSharp ширина таблицы 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 (); 

Я устанавливаю ширину таблицы так, чтобы она расширила границу страницы. Но когда создается pdf, таблица занимает примерно 80% пробела между полями. Я делаю что-то неправильно здесь?

ответ

50

В последней версии iTextSharp (5.0.4) PdfPTable имеет свойство WidthPercentage.

Для установки статического значения свойство равно TotalWidth.

+1

[5.5.9] TotalWidth не является статическим значением - это просто свойство объекта. – MaLiN2223

30

Выяснил это. По-видимому, table.Width - это процент, а не ширина в пикселях. Таким образом, используя:

table.Width = 100; 

Работает как очарование.

2

Пользователи также могут устанавливать ширину таблицы в процентах.

t.WidthPercentage = 100f; 
+2

Принятый ответ уже говорит об этом. – Kyle

Смежные вопросы