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

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

我有一个使用以下命令创建的 PDFPDF三明治。 PDF 的每一页都包含一个背景图像和一些前景文本。

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

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

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

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


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

给出:

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

答案1

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

所以,像

qpdf --compress-streams=y --recompress-flate --optimize-images in.pdf out.pdf

相关内容