2009-12-24 2 views
13

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

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

ширины и высоты страницы являются 6x9 в

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

42pt Маржа | СОДЕРЖАНИЕ СОДЕРЖАНИЕ

Я был бы признателен за любую помощь , Благодарю.

+0

Как вы добавляете свой контент в документ? Это может повлиять на то, где оно помещено по умолчанию. – Stewbob

ответ

12

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

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

Спасибо, Velja

+0

Как установить margin.i хочу, чтобы моя таблица pdf в фиксированном положении – SANDEEP

2

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

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

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

7

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

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