1

如果我有一个多页 PDF,并使用优秀的poppler 包(使用 macOS 安装)将其拆分为单独的页面,brew install poppler如下所示:

pdfseparate foo.pdf bar-%04d.pdf

然后重新加入生成的 bar-####.pdf 文件,如下所示:

pdfunite bar-*.pdf baz.pdf

生成的 baz.pdf 似乎具有相同的内容,但文件要大得多

起初我假设是因为结果中会有重复的元数据或其他东西。但即使我从所有文件中剥离所有元数据,即从输入中,以及中间 bar-####.pdf 文件,以及生成的输出文件,使用exiftoolqpdf像这样:

# command line steps to strip metadata from (and re-linearize) example.pdf :
exiftool -all= -overwrite_original example.pdf ;
mv example.pdf temp.pdf ;
qpdf --linearize temp.pdf example.pdf

然后生成的 baz.pdf 文件仍然比原始输入大得多。

这可能是什么原因?除了内容之外,多页 PDF 文件中还有什么?假设 popplerpdfseparatepdfunite保持实际内容本身不变,并且我对元数据的剥离是正确的。

或者是否有可能以某种无损但次优的方式分解和重建 PDF 内容pdfseparatepdfunite(我对 PDF 文件的内部结构知之甚少,但我可以想象有很多不同的方法来编码相同的内容)

顺便说一句,如果我使用exiftool somefile.pdf它检查任何涉及的 PDF 文件确实根本没有显示任何元数据(并且线性化:是)。

4

1 回答 1

3

PDF pages use shared resources such as fonts, images, etc. When you split the document the shared resources go into each resulted file. When you merge those files the resources might not by merged back (this depends on how the merger tool is implemented) thus resulting a much larger file.

于 2019-01-17T07:14:41.057 回答