PDFファイルからOCRテキストを削除するときにファイルサイズの拡大を防ぎますか?

PDFファイルからOCRテキストを削除するときにファイルサイズの拡大を防ぎますか?

私は使うpdfimagesconvertアントンがおすすめ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.pdf373MBで、元のサイズの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一時ディレクトリとして使用して、スペースの問題を回避できます。 (これは結果のファイルサイズに影響しない可能性があります)。

関連情報