【问题标题】:Inserting a PDF into another, after a page break, using iTextSharp在分页后,使用 iTextSharp 将 PDF 插入另一个 PDF
【发布时间】:2016-03-02 11:56:33
【问题描述】:

我正在尝试为系统创建 PDF,该系统是用于打印运行的报告和信件的合并。

基本上我有一个装满 PDF 报告表格的文件夹,然后是一个装满求职信的 PDF。求职信是使用 SSRS rdlc 文件生成的,该文件在每个字母之间有分页符。我最终需要的是一个PDF:

求职信/报告/求职信/报告等

现在我从这个线程中找到了合并 PDF 的代码:

Merging PDFs with ITextSharp

(谢谢汤米)

这太好了,我可以轻松地调整它以将信件和报告交错,但我不能 100% 保证求职信是单页的。

有没有办法让我在合并过程中使用 iTextSharp 扫描 PDF 以检测分页符?这样我就可以等到休息之后再添加报告。

非常感谢,

J

【问题讨论】:

  • 我不明白您引用的代码以何种方式无法执行您想要的操作,即使对于多页文档也是如此。
  • (1) 该代码已过时。现在可以使用addDocument() 方法,而不必遍历页面。 (2) 可以随时向PdfReader 询问文档的总页数:reader.NumberOfPages,那么您的问题是什么? 我投票结束这个问题,因为不清楚你在问什么。
  • 我会再试一次:我有一份包含 10 封求职信的 PDF 文档。每封求职信都匹配一份 PDF 报告,该报告是从包含 1000 份此类报告的文件夹中获取的。我想要的是将带有求职信的 PDF 文件拆分成另一个 PDF,其中包含求职信 -> 匹配报告、求职信 -> 匹配报告等。一旦生成了这个单一(大)PDF,它就会发送到一台打印机,它可以打印、折叠并将它们塞进信封中。我包含的代码可以正常工作,但仅当求职信是单页时。我不能保证一定会。

标签: pdf merge itextsharp


【解决方案1】:

如果您希望从多个报告中分离出合并的文档,那么您可以使用以下策略:

  1. 检查每个页面上的一些预定义短语(如封面页)以确定此页是否为封面页。因此,您应该逐页迭代,使用PdfTextExtractor.GetTextFromPage() 读取文本,在此文本中搜索给定关键字以查找此页面是否为封面(分隔页)。

  2. 更可靠的方法(如果您能够控制初始文档的生成方式)是基于印在封面上的条形码,以在批量扫描期间检测新文档的开始。此外,条形码(例如 QR 码)可能包含一些关于下一个子文档的附加信息。

【讨论】:

  • 谢谢,我会试一试。为此,我可能有办法在某处添加一些文本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-20
  • 1970-01-01
  • 2013-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多