回答:
cpdf -draft original.pdf -o version_without_images.pdf
リポジトリにはありませんが、ダウンロード(プリコンパイル済みまたはソース)をWebサイトで見つけることができます。
15.1ドラフト文書
-draftオプションは、ビットマップ(写真)イメージをファイルから削除し、より少ないインクで印刷できるようにします。必要に応じて、-boxesオプションを追加して、空白のままになっているスペースを、イメージがどこにあるかを示すクロスボックスで埋めることができます。これは、すべての場合に完全に表示されることを保証するものではありません(ビットマップは、ベクトルオブジェクトで部分的に覆われているか、元のオブジェクトでクリップされている可能性があります)。例えば:
cpdf -draft -boxes in.pdf -o out.pdf
Ghostscriptの最新リリースでもこれが可能です。-dFILTERIMAGE
コマンドにパラメーターを追加するだけです。
コンテンツタイプ「ベクター」と「テキスト」を選択的に削除するために追加できる、さらに2つの新しいパラメーターもあります。
-dFILTERIMAGE
:すべてのラスターイメージが削除された出力を生成します。
-dFILTERTEXT
:すべてのテキスト要素が削除された出力を生成します。
-dFILTERVECTOR
:すべてのベクトル描画が削除された出力を生成します。
これらのオプションの2つを組み合わせることができます。(3つすべてを組み合わせると、すべてのページが空白になります...)
上記の3種類のコンテンツすべてを含むサンプルPDFページのスクリーンショットを次に示します。
「画像」、「ベクトル」、および「テキスト」要素を含む元のPDFページのスクリーンショット。
次の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
次の画像は結果を示しています。
左から上の行:すべての「テキスト」が削除されました。すべての「画像」が削除されました。すべての「ベクター」が削除されました。左から下の行:「テキスト」のみが保持されます。「画像」のみが保持されます。「ベクター」のみが保持されます。
@Rinzwindの答えは正しいことですが、「中間」ソリューションについてコメントしたいだけです。通常、ghostscriptを使用して画像のサイズを大幅に縮小できます。
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen \
-dNOPAUSE -dQUIET -dBATCH -sOutputFile=small.pdf original.pdf
...校正のために本当に便利な場合があります。PDFを記述するためのマニュアルページはこちらです。
/screen
は、(特に)ビットマップイメージの解像度を72dpiに設定します。そのため、画像のDPIが小さい場合、ファイルサイズが大きくなる可能性があります。これが、私が「通常」という言葉を使用した理由です(「常にではなく、かなり頻繁に」という意味)。自由に投票してください。
for s in screen default ; do gs -o /dev/null -sDEVICE=pdfwrite -dPDFSETTINGS=/${s} -c "currentpagedevice {exch ==only ( ) print === } forall" | sort | tee ghostscript---pdfwrite-PDFSETTINGS-${s}--pagedevice-settings.txt; done
。を使用して比較できる2つのテキストファイルが生成されますsdiff -sbB $[file1}.txt ${file2}.txt
。これで、!によって導入されたすべての異なる設定を正確かつ完全に 把握できました!-dPDFSETTINGS=/screen
/screen
よりも/default
--- 72dpiです対150dpi、最適化、廃棄EPSプレビュー...ちょっと、ない大きな問題。人々はより良いソリューションをテストして選択します。
/screen
。おそらく私の記憶が失敗するか、私はそれと混同しました/epub
。私があなたに与えたコマンドは、それが私が意味することを示すと確信していたため、メモリからでした。今、私は再びそれを再実行しましたが、私はもう何を期待していたのかわかりません。数年前に実行したより拡張されたテストです。その後、多くの(CID?/ CFF?)フォントが、結果のPDFのラスタライズされた肥大化サイズになりました。もっと時間ができたら、もう一度問題を再