关于php:pdftk将pdf拆分成多个页面,但总大小增加了

pdftk split pdf with multiple pages but total size grew

用php我必须将其中有多页的单个pdf文件拆分为很多PDF文件,每个文件一页。
我使用pdftk并可以正常工作,但是为每个页面创建的每个pdf都非常大。 我的原始PDF是7MB(内部有70页),使用pdftk分割创建的每个文件的总和超过70MB。

有人知道是否可以为pdftk设置一个属性以使其具有较小的文件输出吗?


您始终可以指定compress选项-例如:

1
pdftk input.pdf burst output output_%02d.pdf compress

请注意,pdftk只是将PDF文件的内容从输入复制到输出中,并不能做很多事情来优化膨胀效果。因此,如果您输入的PDF很大/很复杂,那么您的输出PDF也会很大。另请注意,文档中嵌入的所有字体最终可能会在每个输出文档中重复出现,从而占用更多空间。


您可以使用pdftk并尝试

1
2
pdftk source.pdf cat 1-100 output try1.pdf
pdftk source.pdf cat 101-end output try2.pdf

分割PDF文件时,有时很难避免每个输出文件中仅包含某些页面所需的信息。

cpdf努力避免这种情况-您可以尝试一下,看看会发生什么。您可能会发现它并不比文件上的pdftk好,但应该如此。

披露:我是cpdf的作者。


遇到类似的问题。但是不适用于此问题。无论如何,有人可能会发现它有用:

  • 我有一个很大的pdf文件-original.pdf-超过240MB。它几乎是
    无法使用它。我以pdf格式打印了出来,
    删除了打印机设置中的所有缩放比例。这产生了一个文件-new.pdf-
    约102MB!显然所有嵌入的字体,书签等
    被删除。
  • 为了找回书签,我使用cpdf提取
    原始pdf文档中的书签并将其应用于
    新的一个。生成的文档-result.pdf-易于浏览且非常快速
    任何pdf查看器。
  • 参考:cpdf以提取和应用书签:http://www.coherentpdf.com/cpdfmanual/node38.html

    1
    2
    cpdf -list-bookmarks original.pdf > booksmarks.txt
    cpdf -add-bookmarks booksmarks.txt new.pdf -o result.pdf