使用 itextsharp 合并文档
Merging documents with itextsharp
我对iTextSharp
没有经验,但有这个需求:
我已经生成了 2 个 PDF:
一页的小型 PDF(即 A6 尺寸)包含 1 张背景图像和一些不同格式的文本(段落、块等)、一些条形码、一些矩形...但仅此而已(没有表格等)。 pdf 生成到内存流。
大一号(即 A3 号)。我想"copy"或者把小的pdf嵌入到固定位置的大的。
我如何合并它们? 我找到的所有示例都使用 PDFReader
,但我无法在内存流上使用它,我也不喜欢将中间 PDF 保存到磁盘。
您本质上是想将一个文档中某处的页面标记到另一个文档的较大页面上。
这是 PdfStamper
的任务。
- 在
PdfReader readerA
中打开带有小页面的文档
- 打开大页面的文档
PdfReader readerB
- 为
readerB
创建 PdfStamper stamperB
- 使用
stamperB.GetImportedPage
从 readerA
导入页面
- 使用
stamperB.OverContent.AddTemplate
将此导入的页面对象添加到现有目标页面;此方法允许提供定位坐标
- 关闭
stamperB
,然后关闭读者
我对iTextSharp
没有经验,但有这个需求:
我已经生成了 2 个 PDF:
一页的小型 PDF(即 A6 尺寸)包含 1 张背景图像和一些不同格式的文本(段落、块等)、一些条形码、一些矩形...但仅此而已(没有表格等)。 pdf 生成到内存流。
大一号(即 A3 号)。我想"copy"或者把小的pdf嵌入到固定位置的大的。
我如何合并它们? 我找到的所有示例都使用 PDFReader
,但我无法在内存流上使用它,我也不喜欢将中间 PDF 保存到磁盘。
您本质上是想将一个文档中某处的页面标记到另一个文档的较大页面上。
这是 PdfStamper
的任务。
- 在
PdfReader readerA
中打开带有小页面的文档
- 打开大页面的文档
PdfReader readerB
- 为
readerB
创建 - 使用
stamperB.GetImportedPage
从 - 使用
stamperB.OverContent.AddTemplate
将此导入的页面对象添加到现有目标页面;此方法允许提供定位坐标 - 关闭
stamperB
,然后关闭读者
PdfStamper stamperB
readerA
导入页面