Подтвердить что ты не робот

Ширина таблицы iTextSharp 100% страницы

Я пытаюсь добавить таблицу в документ с помощью iTextSharp. Вот пример:

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% пробела между полями. Я делаю что-то неправильно здесь?

4b9b3361

Ответ 1

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

Чтобы установить статическое значение, свойство TotalWidth.

Ответ 2

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

table.Width = 100;

Работал как шарм.

Ответ 3

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

t.WidthPercentage = 100f;

Ответ 4

Свойство WidthPercentage больше не доступно в iText7. Используйте следующее вместо

table.SetWidth(new UnitValue(UnitValue.PERCENT, 100));