如何创建每页重复的自定义设计的 PDFFLowDocument

问题描述 投票:0回答:1

我正在构建一个 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);
c# pdf
1个回答
0
投票

您可以处理

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 库的公司工作。

© www.soinside.com 2019 - 2024. All rights reserved.