2015-03-03 84 views
1

我不跟iTextSharp经验丰富,有这方面的需求:与iTextSharp的合并文件

我已经产生了2个PDF文件:

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

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

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

+2

一个'PdfReader'完全可以绑定到一个流,虽然我建议你调用'ToArray的()'您'MemoryStream'和公正传入你的原始字节。 – 2015-03-03 14:29:58

回答

1

你基本上想要将一个页面从某个文档的某个地方戳到另一个文档的较大页面上。

这是PdfStamper的任务。

  • 打开PdfReader readerA
  • 打开在一个PdfReader readerB
  • 大页面文件中的小页面文件从readerA使用创建PdfStamper stamperBreaderB
  • 导入页stamperB.GetImportedPage
  • 使用stamperB.OverContent.AddTemplate将此导入的页面对象添加到现有目标页面;这种方法允许提供定位坐标
  • 关闭stamperB,那么读者