如果我有一个多页 PDF,并使用优秀的poppler 包(使用 macOS 安装)将其拆分为单独的页面,brew install poppler
如下所示:
pdfseparate foo.pdf bar-%04d.pdf
然后重新加入生成的 bar-####.pdf 文件,如下所示:
pdfunite bar-*.pdf baz.pdf
生成的 baz.pdf 似乎具有相同的内容,但文件要大得多。
起初我假设是因为结果中会有重复的元数据或其他东西。但即使我从所有文件中剥离所有元数据,即从输入中,以及中间 bar-####.pdf 文件,以及生成的输出文件,使用exiftool和qpdf像这样:
# 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 文件中还有什么?假设 popplerpdfseparate
并pdfunite
保持实际内容本身不变,并且我对元数据的剥离是正确的。
或者是否有可能以某种无损但次优的方式分解和重建 PDF 内容pdfseparate
?pdfunite
(我对 PDF 文件的内部结构知之甚少,但我可以想象有很多不同的方法来编码相同的内容)
顺便说一句,如果我使用exiftool somefile.pdf
它检查任何涉及的 PDF 文件确实根本没有显示任何元数据(并且线性化:是)。