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

Ширина боковых полей iText (резкое)

Похоже, я не могу установить левое поле меньше ширины 42 т. Я устанавливаю его на 0f, но он всегда заканчивается как 42pt. Если я устанавливаю маржу на любое число, большее 0, он просто добавляет его к исходному краю 42pt. Я устанавливаю margin объекта документа:

iTextSharp.text.Rectangle docRect = new iTextSharp.text.Rectangle(pageWidth, pageHeight);
DC = new Document(docRect);
DC.SetMargins(0f, 0f, 0f, 0f);

Ширина и высота страницы - 6x9 дюймов.

И я заканчиваю:

42pt margin | CONTENT CONTENT

Буду признателен за любую помощь. Спасибо.

4b9b3361

Ответ 1

Я использую PdfPTable, и проблема была по умолчанию PdfPTable горизонтального выравнивания, которое является CENTER. Как только я установил выравнивание таблицы влево, проблема исчезла.

PdfPTable bTable = new PdfPTable(2);
bTable.HorizontalAlignment = Element.ALIGN_LEFT;

Спасибо, Velja

Ответ 2

Ну, я думаю, что проблема другая. По умолчанию свойство PdfPTable.LockedWidth имеет значение false, а PdfPTable.WidthPercentage равно 80f. Пока выравнивание по умолчанию равно Center, создается впечатление, что ваши поля не соблюдаются... но они есть! Вам sipmly нужно установить PdfPTable.WidthPercentage = 100f.

Ответ 3

Ваша проблема может быть связана с тем, как вы добавляете контент в свой документ. Если вы используете таблицу (вместо PdfPTable), даже если у вас есть левый край 0, таблица по-прежнему будет помещена с отступом из левого поля по умолчанию.

Интервал по умолчанию составляет около 10% от ширины области страницы для печати. Таким образом, левый край таблицы будет помещен в ( 0.10 * (pageWidth - leftMargin - rightMargin)).

10% из 6 дюймов (при 72 очках за дюйм) составляет 43,2 балла, что очень близко к 42 пунктам, которые вы получаете.