次のコマンドを使用してPDFを作成しました。PDFサンドイッチ。 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