web-dev-qa-db-ja.com

Inkscapeを使用してPDFからベクターグラフィックを抽出する

プレゼンテーション用に紙からPDF画像をいくつか抽出したいと思います。 Windowsでは、Adobe Illustratorは問題なく動作しますが、Debianボックスでこのタスクを実行する必要があります。

私がオンラインで見つけた2つの人気のあるソリューションは

Jpgではなくベクターグラフィック(pdf)が必要なため、pdfimageは私のニーズを満たしていないため、Inkscapeを使用することを好みますが、期待どおりに機能しません。セレクターツールを使用して、通常Illustratorで行ったようにボックスをドラッグして内部のすべてを選択できるといいのですが、Inkscapeのツールはどれも機能しません。

「オブジェクトの選択と変換」ツール(黒い矢印)を使用すると、PDFページ全体が選択されますが、必要なのはごく一部です。 「ノードによるパスの編集」ツール(いくつかのノードがある黒い三角形の矢印)を使用すると、一度に1つのオブジェクトしか選択できません。ドラッグアンドドロップ(Shiftキーを押しても)は機能しません。

これを回避する方法があるのか​​、それとも同じことを達成するためのより良いツールがDebianにあるのだろうか?ありがとう。

13
Yang

私の謙虚な意見では、PDFからvector画像を取得するために使用する方法を提案できます

と呼ばれるツールがあります

pdftocairopoppler-utilsに含まれています

構文:

pdftocairo [options] <PDF-file> [<output-file>]

pdftocairoは、ラスター形式とベクター形式の両方を出力で生成でき、これらの最後の間に、単一のpdfページのコンテンツを変換できます(ifあなたはmultipagepdfドキュメントを持っています、あなたは最初にこれをexplodeする必要がありますその単一のpdfページ(たとえばpdftk)は、次のようになります。

  • -ps:PostScriptファイルを生成します
  • -eps:カプセル化されたPostScript(EPS)を生成します
  • -svg:Scalable Vector Graphics(SVG)ファイルを生成します

ニーズに最適な出力形式はsvgである可能性があるため、PDFページを変換した後、任意のsvgアプリでこのsvgを開くことができます(inkscapeまたは古き良きsodipodiなど)、抽出するベクトル要素を選択します保存します

再開:

MULTIPAGE PDFがある場合

  1. 最初に、この複数ページのpdfを単一ページに分割します(この単一ページ用のフォルダーを作成します)

    pdftk file.pdf burst
    
  2. 次に、pdftocairoを使用してPDFページをsvgに変換します

    for f in *.pdf; do pdftocairo -svg $f; done
    
19
Dingo

Pdftkを使用して複数ページのpdfファイルを分割し、次にインクスケープを使用してコマンドラインを使用してpdfをsvgファイルに変換できます。

inkscape --without-gui --file=input.pdf --export-plain-svg=output.svg
12
wang.aurora