开发者

iText(sharp) side margins width

It looks like I can't set left margin to be less then 42pt width. I am setting it to 0f but it always ends as 42pt. If I set margin to any number greater then 0 it just adds it to initial margin of 42pt. I am setting margin of document object:

iTextSharp.text.Rectangle docRect = new iTextSharp.text.Rectangle(pageWi开发者_StackOverflow中文版dth, pageHeight);
DC = new Document(docRect);
DC.SetMargins(0f, 0f, 0f, 0f);

Page width and height are 6x9 in.

And I end with:

42pt margin|CONTENT CONTENT

I would appreciate any help. Thanks.


I am using PdfPTable and the problem was default PdfPTable horizontal alignment which is CENTER. As soon as I set alignmentof table to left problem went away.

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

Thanks, Velja


Well, I think that the problem is different. By default, PdfPTable.LockedWidth property is set to false, and PdfPTable.WidthPercentage is equal to 80f. As long as default table alignment is Center you get the impression that your margins are not honoured... but they are! You sipmly need to set PdfPTable.WidthPercentage = 100f.


Your problem may have to do with how you are adding the content to your document. If you are using a Table (instead of a PdfPTable), even if you have a left margin of 0, the table will still be placed indented from the left margin by default.

The default spacing works out to be about 10% of the width of the printable page area. So the left edge of the Table would be placed at ( 0.10 * (pageWidth - leftMargin - rightMargin)).

10% of 6 inches (at 72 pts per inch) is equal to 43.2 pts, pretty close to the 42 pts you are getting.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜