iTextsharp)边缘宽度

时间:2009-12-24 16:37:21

标签: c# itextsharp itext margin

看起来我不能将左边距设置为小于42pt宽度。我将它设置为0f但它总是以42pt结束。如果我将保证金设置为大于0的任何数字,它只会将其加到初始保证金42pt。我正在设置文档对象的边距:

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

页面宽度和高度为6x9英寸。

我结束了:

42pt保证金|内容

我将不胜感激任何帮助。感谢。

3 个答案:

答案 0 :(得分:13)

我正在使用PdfPTable,问题是默认的PdfPTable水平对齐,这是CENTER。一旦我将对齐表格放到左边,问题就消失了。

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

谢谢, Velja

答案 1 :(得分:9)

嗯,我认为问题不同了。默认情况下,PdfPTable.LockedWidth属性设置为false,PdfPTable.WidthPercentage等于80f。只要默认表格对齐为Center,您就会觉得您的边距不受尊重......但它们是!你需要设置PdfPTable.WidthPercentage = 100f

答案 2 :(得分:2)

您的问题可能与将内容添加到文档中的方式有​​关。如果您使用的是Table(而不是PdfPTable),即使您的左边距为0,默认情况下该表仍将从左边距缩进。

默认间距约为可打印页面区域宽度的10%。因此,表格的左边缘将放置在( 0.10 * (pageWidth - leftMargin - rightMargin))

6英寸的10%(每英寸72磅)等于43.2分,非常接近你获得的42分。