iTextsharp) 边距宽度

Posted

技术标签:

【中文标题】iTextsharp) 边距宽度【英文标题】:iText(sharp) side margins width 【发布时间】:2010-12-29 20:37:38 【问题描述】:

看起来我无法将左边距设置为小于 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 边距|CONTENT CONTENT

如果有任何帮助,我将不胜感激。谢谢。

【问题讨论】:

如何将内容添加到文档中?这可能会影响默认放置的位置。 【参考方案1】:

嗯,我认为问题是不同的。默认情况下,PdfPTable.LockedWidth 属性设置为 false,PdfPTable.WidthPercentage 等于 80f。只要默认的表格对齐方式是Center,您就会觉得您的边距没有得到尊重……但确实如此!您只需设置PdfPTable.WidthPercentage = 100f

【讨论】:

【参考方案2】:

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

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

谢谢, 维利亚

【讨论】:

如何设置边距。我希望我的 pdf 表格处于固定位置【参考方案3】:

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

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

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

【讨论】:

以上是关于iTextsharp) 边距宽度的主要内容,如果未能解决你的问题,请参考以下文章

iTextSharp 表格宽度为页面的 100%

获取边距的绝对宽度(边距问题:auto;)

折叠宽度高度和边距对于块级元素意味着啥?

以编程方式更新图像宽度和边距

CSS 表格宽度 - 100% + 减去边距

下列()方法获取元素的宽度只包括元素的宽度、内边距和边框