web-dev-qa-db-ja.com

PDFからベクトル図を抽出する方法

質問があります。この方法で、ラテックスを使用してpdfファイルに図を挿入しました。最初にinkscapeを使用してベクトル図を作成しました。次に、それをpdf形式に変換し、latexを使用してpdfに含めました。今、この生成されたPDFを使用して、前のsvg図を抽出します。どうすれば抽出できますか?

ところで:イラストレーターとインクスケープも試しました。ただし、両方とも手動操作が多すぎます。私はpdfを入力として受け取り、svg図を出力するものを好みます。 enter image description here

6
tqjustc

これを試すことができます:

inkscape yourFile.pdf --export-plain-svg=yourFile.svg

PDFの最初のページとすべてのデフォルトのインポートオプションが使用されます。

pdf2svg を試して、pdfからsvgファイルをエクスポートすることもできます。

pdf2svg <input.pdf> <output.svg> [<pdf page no. or "all" >]
7
user242143

man pdftocairo

NAME
       pdftocairo  - Portable Document Format (PDF) to PNG/JPEG/PDF/PS/EPS/SVG 
       using cairo

 SYNOPSIS
       pdftocairo [options] PDF-file [output-file]

上記の必須ライブラリがシステムで利用可能であることを確認してください。

Sudo apt-get install python-poppler python texlive-extra-utils texlive

簡単に使用できるようになりました:

pdftocairo -svg SomePDFfile.pdf

ただし、pdfファイルに複数のページが含まれている場合は、展開してから抽出する必要があります。

最初に、このマルチページPDFを単一ページに分割しました

pdftk file.pdf burst

次に、pdftocairoを使用して任意のpdfページをsvgに変換します

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

ここからいくつかのコンテンツ

1
Maythux