减小带有文本的 PDF 文件大小?

Ter*_*den 5 compression pdf

我有一个用PDF Sandwich创建的 PDF 。PDF 的每一页都包含一个背景图像和一些前景文本。

\n

我想减小背景图像的文件大小(而不是分辨率) - 并保留可选择的文本。

\n
    \n
  • 使用 ImageMagick 可以convert减小尺寸,但会删除文本。
  • \n
  • ps2pdf不会显着减小文件大小。
  • \n
  • gs -sDEVICE=pdfwrite -dPDFSETTINGS=/screen \xe2\x80\xa6降低分辨率,但似乎没有重新压缩图像。
  • \n
  • qpdf --compress-streams=y --recompress-flate --optimize-images in.pdf out.pdf只会产生微小的差异。
  • \n
\n

如果我提取背景图像并使用pngquant或类似的图像,文件大小会大大减小。但我无法使用新图像来替换旧图像。

\n

有什么方法可以压缩 PDF 中的图像,同时保持文本完整吗?

\n
\n

正如评论中所建议的,运行pdfimages -list output.pdf

\n

给出:

\n
page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio\n--------------------------------------------------------------------------------------------\n   1     0 image    3483  4800  rgb     3   8  jpeg   no        11  0   300   300 1147K 2.3%\n   2     1 image    3483  4800  rgb     3   8  jpeg   no        24  0   300   300  397K 0.8%\n   3     2 image    3483  4800  rgb     3   8  jpeg   no        37  0   300   300 1441K 2.9%\n   4     3 image    3483  4800  rgb     3   8  jpeg   no        50  0   300   300 1880K 3.8%\n   5     4 image    3483  4800  gray    1   8  jpeg   no        63  0   300   300 1050K 6.4%\n\xe2\x80\xa6\n
Run Code Online (Sandbox Code Playgroud)\n

Mar*_*ler 3

qpdf具有重新压缩数据流,尤其是 PDF 中的图像的模式。

所以,像

qpdf --compress-streams=y --recompress-flate --optimize-images in.pdf out.pdf
Run Code Online (Sandbox Code Playgroud)