itextpdf:合并pdf文件

时间:2015-10-08 15:43:38

标签: java itext itextpdf

是否可以itextpdf合并两个这样的pdf文件

  1. pdf-file-1:1页,包含3行文字

  2. pdf-file-2:1页,包含9行文字

  3. 结果:

    pdf-file-3:包含12行文字的1页,合并pdf-file-1pdf-file-2的结果

1 个答案:

答案 0 :(得分:1)

  

是否可以使用itextpdf合并两个这样的pdf文件...

正如布鲁诺在他的评论中解释的那样,PDF一般几乎不了解他们所展示的文字,他们不了解章节,章节,段落,栏目等等。他们甚至不知道文字行;我们认为是一条线的东西可能是在一些抽象坐标处绘制的一小块文本的松散集合。

因此,从所讨论的PDF内部看,你的问题甚至可能都没有意义。

如果你重新制定它,一些类似的问题确实有意义,例如。

  

iTextPdf是否可以合并两个这样的pdf文件

     
      
  1. pdf-file-1:1页面,其内容仅填充页面的一小部分,例如只有上半部分

  2.   
  3. pdf-file-2:1页面,其内容仅填充页面的一小部分,例如只有上半部分

  4.         

    结果:

         

    pdf-file-3:1页面,其顶部是pdf-file-1的内容,右下方是pdf-file-2的内容,合并pdf-file-1和pdf-file-2的结果< / p>

这确实是可能的,特别是可以使用iText。虽然此功能不是iText的明确功能,但iText确实提供了一个低级API,相当容易实现这种合并功能,例如:

  • this answer中提供的PdfDenseMergeTool完全按照上面的描述进行操作,它将目标页面上的多个源页面的内容放在那里;和
  • this answer中提供的PdfVeryDenseMergeTool做得更多,它甚至会拆分源页面内容,以便更多地挤压到目标网页上。

但要注意,这些课程并没有因多年的使用和改进而变得坚强,它们是某些角落案例仍需要考虑的概念证明。

特别是他们只考虑实际的页面内容,而不是注释或类似的活动内容。另一方面,他们甚至将空白页面上绘制的白色矩形视为内容。尽管实际上可见的是

,但每个页面最初都填充白色的PDF被认为是完全填满的