私は使うpdfimages
convert
アントンがおすすめORされたテキストの削除PDFファイル、PDFファイルのサイズが29MBから373MBに変更されます。
最初のステップは、pdfファイルを各pdfページのpbmファイルに分割することでした。
mkdir tmp1
pdfimages ull.pdf tmp1/ull
生成されたpbmファイルの合計サイズは788Mです。
次の手順では、生成されたpbmファイルをpdfファイルに変換してマージします。
cd tmp1
convert ull*.pbm all.pdf
しかし、これは1GB以上のスペースが必要/tmp
で、私のスペースが/tmp
それほど多くないため、間違っています。だから私の2番目のステップは実際には次のようになります。
mkdir tmp2
for i in ull-*.pbm; do convert $i tmp2/$i.pdf ; done
cd tmp2
pdftk ull-???.pbm.pdf ull-????.pbm.pdf cat output ../../all.pdf
結果のPDFファイルはall.pdf
373MBで、元のサイズの29MBよりはるかに大きいです。実行してみましたが、pdftk all.pdf output new.pdf compress
ファイルサイズが減りません。
私が望むのは、PDFファイルからOCRされたテキストを削除することだけですが、ファイルサイズが大きくなるのを防ぐことはできますか?
答え1
pdfimages
元の画像がJPEGファイルの場合は、オプションを使用できます-j
。からman pdfimages
:
-j Normally, all images are written as PBM (for monochrome images)
or PPM (for non-monochrome images) files. With this option,
images in DCT format are saved as JPEG files. All non-DCT
images are saved in PBM/PPM format as usual.
ConvertがPDFファイルに画像を保存する方法を制御する方法はわかりませんが、圧縮品質を使用し-quality
て変更できます。-resize
convert
次のいずれかの方法で呼び出されます。
TMPDIR=/home/tim/tmp convert ...
MAGICK_TMPDIR=/home/tim/tmp convert ...
変換を/home/tim/tmp
一時ディレクトリとして使用して、スペースの問題を回避できます。 (これは結果のファイルサイズに影響しない可能性があります)。