当前位置: 首页 > 知识库问答 >
问题:

使用PDFBOX拆分和合并pdf文件生成大文件

拓拔意
2023-03-14

我有一个大的pdf打印文件,它包含5544页,大约36MB大小。该文件由MS Word 2010创建,仅包含文本和每个信件/文档上的徽标。

我将它拆分为5544个文件,然后根据关键字合并成2770个字母。每个字母约为。140-145kb。

当我将所有的字母合并到一个新的pdf打印文件(仍然包含5544页)时,文件的大小增长到396MB。

所有文本提取、拆分和合并都是通过从PHP调用Apache PDFBox命令行工具来执行的,但从控制台运行时结果是相同的。

有什么想法如何减少文件大小的信件和最后的打印文件?看起来PDFBox只是在最后的打印文件中添加了每个字母,而不是创建一个新的PDF文档。

只有在测试阶段,所有的文档被合并到最终的打印文件中,部分文档将通过电子邮件发送。

我也试过SAMBox(PDFBox的一个分叉),但结果几乎是一样的:

pdfinfo original.PDF标题:Printfile作者:Claus Hjort Bube创建者:Microsoft®Word 2010制作者:Microsoft®Word 2010创建日期:Fri 5月19日12:16:34 2017 CEST Moddate:Fri 5月19日12:16:34 2017 CEST标记:是用户属性:无疑点:无表单:无JavaScript:无页面:5544加密:无页面大小:595.32 x 841.92 pts(A4)页面腐烂:0文件大小:36092281字节优化:无PDF版本:1.5

pdfinfo pdfbox.PDF标题:Printfile作者:Claus Hjort Bube创建者:Microsoft®Word 2010制作者:Microsoft®Word 2010创建日期:Fri 5月19日12:16:34 2017 CEST Moddate:Fri 5月19日12:16:34 2017 CEST标记:无用户属性:无可疑项:无表单:无JavaScript:无页面:5544加密:无页面大小:595.32 x 841.92 pts(A4)页面腐烂:0文件大小:396622354字节优化:无PDF版本:1.4

pdfinfo SAMBox.PDF创建者:Sejda Console 3.2.17制作者:SAMBox 1.1.8(www.Sejda.org)moddate:Tue Jul 11 23:34:33 2017 CEST标记:无用户属性:无疑点:无表单:无JavaScript:无页面:5544加密:无页面大小:595.32 x 841.92 pts(A4)页面ROT:0文件大小:378779436字节优化:无PDF版本:1.7

共有1个答案

公羊俊德
2023-03-14

这听起来也许很可悲,但却是正确的。拆分时,每个文件都得到它所需要的资源(例如字体和公司标志图形)。当合并回来时,PDFBox并不知道这些可能在整个文档上是相同的,所以这些现在重复了很多。

我为您看到的唯一解决方案是使用PDFBox java API在一个步骤中创建邮件文件和最终打印文件,即不创建合并回去的单个文件。

 类似资料:
  • 问题内容: 我想使用命令 将一个PDF拆分为许多其他PDF。但是我发现有一个问题:拆分的PDF为“ ActiveMQ In Action(Manning-2011).pdf”,它的大小为14.1MB。但是当我跑步时 每个PDF都大于79MB!我该如何预防? 问题答案: 这是PDFBox 2.0.2中的一个已知错误。拆分在2.0.1中工作正常,在2.0.3中又可以工作。“错误的”代码已经恢复。问题的

  • 我有一个问题,生成一个分层的pdf页面使用PDFbox。我在这里看到过几篇关于这个主题的文章,但它们都集中在将页面从另一个pdf导入到目标文档中。 我创建了一个类MapImage,它包含纸张大小(以像素为单位)和一个我想要添加到单个pdf页面的BufferedImages列表。 不幸的是,生成的PDF已损坏。我试图创建一个页面,只有一个图像(没有图层),但不幸的是,我不知道如何做到这一点。 有人遇

  • 这是代码: 我还尝试了以下存储新文件的代码: 但是这段代码创建的文件缺少一些内容,并且大小与原始文件相同。 THX!

  • 主要内容:合并多个PDF文档,示例在前一章中,我们已经看到如何将给定的PDF文档分成多个文档。 现在让我们学习如何将多个PDF文档合并为一个文档。 合并多个PDF文档 使用类的类将多个PDF文档合并到单个PDF文档中,该类提供了将两个或多个PDF文档合并到单个PDF文档中的方法。 以下是合并多个PDF文档的步骤。 第1步:加载现有的PDF文档 使用类的静态方法加载现有的PDF文档。 此方法接受一个文件对象作为参数,因为这是一个静态

  • 问题内容: 我试图将XML数据从网页转换为PDF文件,希望能完全在JavaScript中完成。我需要能够绘制文本,图像和简单形状。我希望能够完全在浏览器中做到这一点。 问题答案: 示例创建一个“ Hello World” PDF文件。

  • 本文向大家介绍C#实现合并及拆分PDF文件的方法,包括了C#实现合并及拆分PDF文件的方法的使用技巧和注意事项,需要的朋友参考一下 有时我们可能会遇到下图这样一种情况 — 我们需要的资料或教程被分成了几部分存放在多个PDF文件中,不管是阅读还是保存都不是很方便,这时我们肯定想要把这些PDF文件合并为一个PDF文件。相对应的,有时候我们也需要拆分一个大的PDF文件,来从中获取我们需要的那一部分资料。