ベクター画像を含むPDFファイルがあります。(インターネットからダウンロードしたので、オリジナルはありません。)
ベクトルを抽出して、他の画像にオーバーレイできるようにします。印刷媒体またはWebサイトで使用してください。
PDFファイルから特定のベクターを抽出するにはどうすればよいですか?
おそらく、PDFファイルからベクトルを抽出できるソフトウェアはありますか?(できれば無料。)
ベクター画像を含むPDFファイルがあります。(インターネットからダウンロードしたので、オリジナルはありません。)
ベクトルを抽出して、他の画像にオーバーレイできるようにします。印刷媒体またはWebサイトで使用してください。
PDFファイルから特定のベクターを抽出するにはどうすればよいですか?
おそらく、PDFファイルからベクトルを抽出できるソフトウェアはありますか?(できれば無料。)
回答:
Inkscapeを使用できます。Inkscapeは、無料のオープンソースでクロスプラットフォームのベクターグラフィックアプリケーションです。PDFファイルをインポートし、埋め込みベクターを選択できます。その後、それらを編集して、必要に応じて処理できます。
詳細なドキュメントは、Inkscape Webサイトで入手できます。
LinuxではX11が必要です。ネイティブのWindowsバージョンもあります。
または、Adobe Illustratorを使用することもできます(有料ソフトウェア)。
Inkscapeはそれを行うための素晴らしい方法ですが、X11がない場合は、コマンドラインでpoppler-utilsを使用して、PDFの個々のページをSVG形式に抽出することもできます。たとえば、30ページだけを抽出するには:
$ pdftocairo -f 30 -l 30 -svg somehugemanual.pdf myextractedpage.svg
次に、お気に入りのベクターエディター(Inkscapeを使用)を使用して、テキストからイメージを分離できます。
あるいは、ハードコアのコマンドラインユーザーであれば、EPS(カプセル化されたポストスクリプト)に抽出しsed
、すべてのテキスト(pdftocairoのBT行とET行の間にある)を非表示にするために使用できます。方法は次のとおりです。
$ pdftocairo -f 30 -l 30 -eps manual.pdf - | sed '/^BT$/,/^ET$/ d' > myimage.eps
また、X11の使用を避けるために本当に狂っている場合は、Ghostscriptのeps2eps
コマンドを使用して、コマンドラインから画像の境界ボックスを縮小することもできます。
$ eps2eps myimage.eps myimage-bb.eps
私はこれをテストしましたが、うまく機能します。ただし、個人的には、Inkscapeを使用する方が簡単です。
cat foo.eps | sed '/^8 dict dup begin$/,/^Q$/ c Q' > nobitmaps.eps