是否可以在iTextSharp中获得底部像素

时间:2014-11-04 22:04:22

标签: c# pdf itextsharp

我试图设计一个页脚,但页脚需要在每一页都是绝对的。

是否有抓住页面底部的功能?之后我可以减去几个像素并在那里添加我的页脚。

int bottom = document.GetBottom():
ct.SetSimpleColumn(20, 20, 0, bottom - 20);

沿着那条线?那只是伪代码。

1 个答案:

答案 0 :(得分:2)

iTextSharp文档提供document.Bottom,它返回底部的x值(至少对我有用)

使用它我实现了一个相对页脚

PdfContentByte cb = wri.DirectContent;
ColumnText ct = new ColumnText(cb);
Phrase myText = new Phrase("footer data here", FontFactory.GetFont("Arial Bold", 10.0f, Font.BOLD, BaseColor.BLACK));
float textWidth = myText.Font.GetCalculatedBaseFont(false).GetWidthPoint("AASECT • 1444 I Street, NW • Suite 700 • Washington • DC • 20005 • (202) 449.1099 • info@aasect.org", 10.0f);
ct.SetSimpleColumn((doc.Right / 2) - (textWidth / 2), 1, (doc.Right / 2) + (textWidth / 2), doc.Bottom);

ct.AddText(myText);
ct.Go();

它创建'Phase'myText,然后计算基本字体以访问.GetWidthPoint以测量文本的大小。通过计算文档的中心并减去一半宽度来计算出最左边的x坐标,并通过添加文本宽度的一半来重复最右边x坐标的反向

我希望这对某些人有所帮助,我发现了许多创建页脚的“方法”并且没有一个工作,希望这可以满足某些人的需求。