使用 php,我必须将包含多个页面的单个 PDF 文件拆分为许多 PDF 文件,每个文件一页。我使用 pdftk 并且工作正常,但为每个页面创建的每个 pdf 都非常大。我的原始PDF是7MB(里面有70页),通过pdftk拆分创建的每个文件的总和超过70MB。
有人知道是否有要为 pdftk 设置具有小文件输出的属性?
您始终可以指定compress
选项 - 例如:
pdftk input.pdf burst output output_%02d.pdf compress
请注意,pdftk
只是将PDF文件的内容从输入复制到输出中,并且不能做太多事情来优化膨胀。 因此,如果您的输入 PDF 很大/很复杂,您的输出 PDF 也会很大。 另请注意,文档中嵌入的任何字体最终都可能在每个输出文档中重复,从而占用更多空间。
pdftk并尝试
pdftk source.pdf cat 1-100 output try1.pdf
pdftk source.pdf cat 101-end output try2.pdf
拆分 PDF 文件时,有时很难避免每个输出文件中包含某些页面所需的信息。
cpdf 努力避免这种情况——你可以尝试一下,看看会发生什么。您可能会发现它并不比文件中的pdftk更好,但它应该是。
披露:我是cpdf的作者。
有类似的问题。但不适用于问题 1:1。无论如何,有人可能会发现它很有用:
- 我有一个非常大的pdf文件 - 原始.pdf - 超过240MB。几乎是不可能使用它。我把它打印出来,并附上 pdf 和删除了打印机设置中的任何缩放。这将生成一个文件 - 新.pdf - 的大约102MB!显然所有嵌入的字体,书签等被删除了。
- 为了取回书签,我使用 cpdf 提取 原始 PDF 文档中的书签并将其应用于 新的。生成的文档 - 结果.pdf - 易于浏览且非常快速 任何 PDF 查看器。
参考:cpdf提取和应用书签:http://www.coherentpdf.com/cpdfmanual/node38.html
cpdf -list-bookmarks original.pdf > booksmarks.txt
cpdf -add-bookmarks booksmarks.txt new.pdf -o result.pdf
我有同样的问题,我已经测试了这两个程序PdfTk
et cPDF
在这些答案中找到。
我的 PDF 文件的大小是 5744k。
使用以下PDFTK
命令
我获得一个 501k 文件。
set pdftk="C:'Program Files (x86)'Tools'PDFtk'bin'pdftk.exe"
%pdftk% "RY18BPSA.UserManual.pdf" CAT 1 9-15 220 output "RY18BPSA.PDFTK.pdf"
使用以下CPDF
命令
set cpdf="C:'Program Files'Tools'cpdf'cpdf.exe"
%cpdf% "RY18BPSA.UserManual.pdf" 1,9-15,220 -o "RY18BPSA.CPDF.pdf"
我获得一个 592k 文件。
<小时 />只是为了好玩,我还测试了将所需页面直接打印到伪打印机Microsoft to PDF
并且我获得了一个 250k 文件!
我可以快速看到与其他生成的文件的唯一区别是页面格式已更改并替换为A4页面,并且只能使用PDF程序的打印GUI作为Acrobat Reader或Foxit Reader手动完成。
PS:我可以搜索所有生成的拆分文件!
我遇到了类似的问题,我尝试了许多不同的工具,我意识到,即使有时原始文件的压缩似乎不起作用,在使用其中一些后,拆分(或突发)的结果可以大大减少。对我来说效果更好的解决方案是这两个步骤的组合:
-
使用 pdf2go 压缩您的原始文件(基本压缩对我有用)。正如另一个答案中所建议的那样,它也可以使用
evince
将其打印到一个新文件中,但在我的示例中效果更糟。文件的大小可能根本没有减小(在我的情况下甚至增加了),但突发后的输出文件仍然要小得多。 -
使用带有压缩选项的pdftk:
pdftk input.pdf burst output output_%02d.pdf compress