【发布时间】:2020-09-08 14:07:19
【问题描述】:
我想使用 C# 在 itext7 中添加动态页脚。页脚可以是 1 到 6 行文本。我已经能够实现单行页脚,但是长文本被截断了。
请帮忙。
添加页脚的代码:
class CustomEventHandler : IEventHandler
{
protected Document doc;
private Table table;
public CustomEventHandler(Document doc)
{
this.doc = doc;
}
public CustomEventHandler(Table table)
{
this.table = table;
}
public void HandleEvent(Event currentEvent)
{
PdfDocumentEvent docEvent = (PdfDocumentEvent)currentEvent;
Rectangle pageSize = docEvent.GetPage().GetPageSize();
PdfFont font = null;
try
{
font = PdfFontFactory.CreateFont(StandardFonts.HELVETICA_OBLIQUE);
}
catch (IOException e)
{
Console.Error.WriteLine(e.Message);
}
float coordX = pageSize.GetLeft() + doc.GetLeftMargin();
float headerY = pageSize.GetTop() - doc.GetTopMargin() + 10;
float footerY = doc.GetBottomMargin();
Canvas canvas = new Canvas(docEvent.GetPage(), pageSize);
canvas
.SetFont(font)
.SetFontSize(5)
.ShowTextAligned("this is a header", coordX, headerY, TextAlignment.CENTER)
.ShowTextAligned("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", coordX, footerY, TextAlignment.LEFT)
.Close();
}
}
谢谢 普里扬卡
【问题讨论】:
-
请您向我们展示您的尝试,以便我们根据您选择的方法提供指导。或者至少向我们展示当前截断长文本的代码
-
我已经添加了添加页脚的代码