我正在构建一个 PDF 文档(使用 PDF4NET 库),需要为生成的每个页面进行自定义设计。我想使用
PDFFlowDocument
类,因为它可以轻松处理多个页面生成
但是,我无法使用
PDFFlowDocument
来构建自定义设计,更糟糕的是让它在生成的每个其他页面上复制。
使用
PDFFixedDocument
我可以执行类似以下代码的操作来在页面上构建某种自定义设计。有没有办法使用 PDFFLowDocument
执行相同操作,并将该设计嵌入为生成的所有其他页面的 pageDefaults?
PDFFixedDocument doc = new PDFFixedDocument();
PDFPage page = doc.Pages.Add();
page.Canvas.DrawFormXObject(logo, X, Y, Width, Height);
page.Canvas.DrawLine(pen, X,Y, Width, Height);
page.Canvas.DrawRectangle(brush, X,Y, Width, Height);
您可以处理
PageCreated
类上的 PDFFlowDocument
事件,并在每个页面上绘制自定义设计。
PDFFlowDocument doc = new PDFFlowDocument(fdd);
doc.PageCreated += Doc_PageCreated;
// ...
private static void Doc_PageCreated(object sender, PDFFlowPageCreatedEventArgs e)
{
e.Page.Canvas.DrawFormXObject(logo, X, Y, Width, Height);
e.Page.Canvas.DrawLine(pen, X, Y, Width, Height);
e.Page.Canvas.DrawRectangle(brush, X, Y, Width, Height);
}
注意:我在开发 PDF4NET 库的公司工作。