将外部 PDF 页面添加到 PDFSharp/MigraDoc

And*_*lva 2 c# pdf-generation pdfsharp migradoc

我目前使用 MigraDoc 构建一个 PDF 文件,然后渲染创建 PdfDocument (PDFSharp) 的文档,以便我可以从其他 PDF 中添加外部页面(因为根据我的理解,MigraDoc 没有页面的“概念”,因此无法添加外部页面)页)

我当前的 PDF 文件格式是:

(PDFSharp) Page 1 --- 
(PDFSharp) Page 2   | (MigraDoc) Section 1
(PDFSharp) Page 3 ---
(PDFSharp) Page 4 --- (MigraDoc) Section 2
(PDFSharp) Page 5 --- (MigraDoc) Section 2
(PDFSharp) Page 6 --- (MigraDoc) Section 3
(PDFSharp) External Page 1
(PDFSharp) External Page 2
(PDFSharp) External Page 3
(PDFSharp) External Page 4
Run Code Online (Sandbox Code Playgroud)

我需要有类似的东西:

(PDFSharp) Page 1 --- 
(PDFSharp) Page 2   | (MigraDoc) Section 1
(PDFSharp) Page 3 ---
(PDFSharp) External Page 1
(PDFSharp) External Page 2
(PDFSharp) Page 4 --- (MigraDoc) Section 2
(PDFSharp) Page 5 --- (MigraDoc) Section 2
(PDFSharp) External Page 3
(PDFSharp) External Page 4
(PDFSharp) Page 6 --- (MigraDoc) Section 3
Run Code Online (Sandbox Code Playgroud)

我需要将外部页面与我自己创建的页面混合,但是当我使用 MigraDoc 创建它们时,它与部分一起使用,我不知道添加外部页面的页码,当我渲染它们时,我会丢失这些部分并且只有不以任何方式相关的页面,因此我不知道一个部分何时结束以添加外部页面。

  • 部分可以有 1 页或多页
  • 外部页面不能位于节的中间
  • 部分之间可以是任意数量的外部页面,也可以没有

Je *_*not 6

MigraDoc 可以使用AddImage. 您在文件名后传递所需的页码(从一开始) - “test.pdf#5”将从该 PDF 文件中获取第五页。

您只需向某个部分添加分页符,添加图像,然后添加另一个分页符即可。图像可以放置在绝对位置,因此它们填满整个页面。

将文档渲染为 PDF 时会添加自动分页符,但您始终可以根据需要添加手动分页符。

如果您使用该方法,那么所有页面都将由 MigraDoc 创建,并且页码将起作用。