使用itextsharp合并文档

本文关键字:文档 合并 itextsharp 使用 | 更新日期: 2024-09-24 10:41:28

我没有iTextSharp的经验,有这个需求:

我已经生成了2个PDF:

  • 一个页面的小PDF(即大小A6),包含1个背景图像和各种格式的一些文本(段落、块等),一些条形码,一些矩形。。。但没有更多(没有表格等)。pdf被生成为内存流。

  • 较大的一个(即尺寸A3)。我想将小pdf"复制"或嵌入到较大的固定位置。

如何合并它们我发现的所有示例都使用PDFReader,但我无法在内存流中使用它,并且我不喜欢将中间PDF保存到磁盘。

使用itextsharp合并文档

您本质上想要将一个文档中的某个页面标记到另一个文档的较大页面上。

这是PdfStamper的任务。

  • PdfReader readerA中打开具有小页面的文档
  • 打开PdfReader readerB中具有大页面的文档
  • readerB创建PdfStamper stamperB
  • 使用stamperB.GetImportedPagereaderA导入页面
  • 使用stamperB.OverContent.AddTemplate将此导入的页面对象添加到现有的目标页面;这种方法可以提供定位坐标
  • 关闭stamperB,然后关闭读卡器