web-dev-qa-db-ja.com

PDFファイルから画像を削除する方法

かなり大きな(〜100MB)PDF文書にたくさんの画像を(イラストや背景画像として)持っているので、画像のないPDFのコピーが欲しいのですが、できます。それをする方法を見つけません。

私はそれをテキストのみに変換することについて話しているのではなく、パラグラフ/テーブル/マルチカラムをそのままにしておきたいです。

私はコマンドラインに慣れており、使用できるディストリビューションが異なる複数のコンピューターを使用しています。

12
Ornux
cpdf -draft original.pdf -o version_without_images.pdf

リポジトリにはありませんが、ダウンロードを見つけることができます( pre-compiled or source )on their website


手動

15.1ドラフト文書

-draftオプションは、ビットマップ(写真)イメージをファイルから削除し、より少ないインクで印刷できるようにします。必要に応じて、-boxesオプションを追加して、空白のままになっているスペースを、イメージがどこにあるかを示すクロスボックスで埋めることができます。これは、すべての場合に完全に表示されることを保証するものではありません(ビットマップは、ベクトルオブジェクトで部分的に覆われているか、元のオブジェクトでクリップされている可能性があります)。例えば:

 cpdf -draft -boxes in.pdf -o out.pdf
13
Rinzwind

Ghostscriptの最新リリースでもこれが可能です。パラメーター-dFILTERIMAGEをコマンドに追加するだけです。

コンテンツタイプ "vector"および "text"を選択的に削除するために追加できる、さらに2つの新しいパラメーターもあります。

  1. -dFILTERIMAGE:すべてのラスタ画像が削除された出力を生成します。

  2. -dFILTERTEXT:すべてのテキスト要素が削除された出力を生成します。

  3. -dFILTERVECTOR:すべてのベクター描画が削除された出力を生成します。

これらのオプションの2つを組み合わせることができます。 (3つすべてを組み合わせると、すべてのページが空白になります...)

上記の3種類のコンテンツすべてを含むPDFページの例のスクリーンショットを次に示します。

「image」、「vector」、および「text」要素を含む元のPDFページのスクリーンショット.
Screenshot of original PDF page containing "image", "vector" and "text" elements.


次の6つのコマンドを実行すると、残りのコンテンツの6つの可能なバリエーションがすべて作成されます。

 gs -o noIMG.pdf -sDEVICE = pdfwrite -dFILTERIMAGE input.pdf 
 gs -o noTXT.pdf -sDEVICE = pdfwrite -dFILTERTEXT input.pdf 
 gs -o noVCT。 pdf -sDEVICE = pdfwrite -dFILTERVECTOR input.pdf 
 
 gs -o onlyIMG.pdf -sDEVICE = pdfwrite -dFILTERVECTOR -dFILTERTEXT input.pdf 
 gs -o onlyTXT.pdf -sDEVICE = pdfwrite -dFILTERVECTOR -dFILTERIMAGE input.pdf 
 gs -o onlyVCT.pdf -sDEVICE = pdfwrite -dFILTERIMAGE -dFILTERTEXT input.pdf 

次の画像は結果を示しています。


一番上の行、左から:すべての「テキスト」が削除されました。すべての「画像」が削除されました。すべての「ベクター」が削除されました。 一番下の行、左から:「テキスト」のみが保持されます。 「画像」のみが保持されます。 「ベクター」のみが保持されます。
Top row, from left: all "text" removed; all "images" removed; all "vectors" removed. Bottom row, from left: only "text" kept; only "images" kept; only "vectors" kept.


17
Kurt Pfeifle

@Rinzwindの答えは Right Thing ですが、 "midway"ソリューションについてコメントしたいだけです。通常、 ghostscript を使用して画像のサイズを大幅に縮小できます。

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen \
   -dNOPAUSE -dQUIET -dBATCH -sOutputFile=small.pdf original.pdf

...校正のために本当に便利な場合があります。 PDFを記述するためのマニュアルページは here です。

1
Rmano

マスターpdfエディターを使用して、それらの画像を削除し、新しいpdfファイルとして保存できます。 Ubuntuソフトウェアセンターからダウンロードできます。

0
Sudheer