Inkscapeで生成された複数のSVGファイルを複数のPDFファイルにエクスポートする


12

Inkscapeで作成した約150のSVGファイルがあります。これらすべてを複数のPDFまたはPNGファイルにエクスポートできるユーティリティはありますか?

個別にエクスポートするのは時間がかかりすぎるので、ユーティリティ/ソフトウェアを使用してバッチで実行できるかどうか疑問に思っていました。

Windowsを推奨。

回答:



8

この質問がInkscapeを 参照しているが、Windowsでタグ付けされていないためにGoogle検索からここに到達したユーザーのために、Linuxの完全なハウツーを示します(これは、システムにInkscapeがインストールされていることを前提としています-Inkscape 0.91でUbunut 14.04でテストされています)。

あなたのSVG変換したいディレクトリ内のファイルを作成sが PDFに。(私はgedit以下を使用しましたが、あなたが選択したテキストエディタに置き換えることもできます)

gedit convertSVGtoPDF.sh

内部に次のコードを貼り付けます

#!/bin/bash
mkdir "$PWD"/pdf
for file in $PWD/*.svg
    do
        filename=$(basename "$file")
        inkscape "$file" -d 1200 -A "$PWD"/pdf/"${filename%.svg}.pdf"
    done

オプションの後の値を変更することで、目的の出力解像度を微調整できます-d

ファイルを保存します。

このスクリプトを実行可能にします

sudo chmod +x convertSVGtoPDF.sh

そして、SVG含むディレクトリ内にそれを実行するのを

./convertSVGtoPDF.sh

これにより、pdfと呼ばれる新しいフォルダが作成され、フォントが埋め込まれたPDFを見つけることができます。

ハッピーインクスキャッピング!


A__様、GDSEへようこそ。ご回答いただきありがとうございます。質問がある場合は、ヘルプセンターを参照するか、評判が十分になったらグラフィックデザインチャットで私たちにpingしてください(20)。貢献し続け、サイトを楽しんでください!
Vincent

これは、Powershellのバッチスクリプトを使用するWindowsでも可能ですが、WindowsでのInkscapeコマンドラインについてのこのちょっとした癖に言及する価値はあります。
Scribblemacher

これは私が削除しなければならなかったことを除いて私のために働いた$PWD/。ディレクトリパスにスペースが含まれていたため、機能しませんでした。
Tim Kuipers

これを使用して、pdf2svgを使用してPDFをSVGに変換しました。正解です。
MycrofD

Ubuntu 16.04でテスト済み。すごい!
loved.by.Jesus


2

複数のサイトを調べた後、コマンドラインを1つだけ使用する簡単な方法を見つけました。

これまでコマンドラインを使用したことはありませんが、いくつかの実験を行った後、次の解決策が思い付きました。

for /f "tokens=1* delims=." %i in ('dir /b *.svg') do "C:\Program Files\Inkscape\inkscape.exe" --without-gui --file="%i.svg" --export-emf="%i.emf"

それを分解する:

for

forは、複数のファイルに対してアクションを実行するコマンドです。その構造は次のようなものです。「特定の条件のファイル」の場合は、「especificコマンド」を実行します

/f "tokens=1* delims=." %i in ('dir /b *.svg')

これが「状態」です。私の場合、すべてのSVGファイルを探していますが、もちろん他の形式でも動作します。この「派手な」コードが行うことはすべて、拡張の前に、変数「%i」にファイル名を格納することです。これはコマンドで役に立ちます。

do

これが、すべてのファイルで実行することです。

"C:\Program Files\Inkscape\inkscape.exe" --without-gui --file="%i.svg" --export-emf="%i.emf"

これは、上記で使用したMarnen Laibow-Koserと同じコマンドです。私は初心者なので、 "inkscape"の使い方がわかりません。

最後の部分は、変数を使用して、選択するファイルとエクスポート方法をプログラムに指示する場所です。

繰り返しますが、私はSVGをEMFにエクスポートしていますが、必要に応じて変更します。これが、変数が非常に重要である理由です。したがって、拡張子を変更するだけで、同じ名前を維持できます。

ファイルの名前にはスペースが含まれる可能性があるため、引用符を使用することを忘れないでください。

もちろん、ファイルがあるフォルダにいる必要もあります。初心者でもある場合は、次のようにします。

C:\

それはあなたを正しいドライブに入れます。

CD "path"

特定のフォルダに移動します。Windowsエクスプローラーを使用して右ボタンをクリックし、パスをテキストとしてコピーできます。

それでおしまい。私は初心者です。そうすることで、より効果的になるかもしれませんが、これでうまくいきます。

最後のヒント:多くのファイルで作業している場合、CTRL + Cを使用してコマンドラインが機能しない場合はコマンドラインを停止し、再試行できます。



0

ファイル名が連続していると仮定します。

macOSを使用していると仮定します。

INDIR='3. SVGs/svgs-front'
OUTDIR='4. Individual PDFs/pdfs-front'
seq 1 100 | while read row; do
  echo Processing $row
  /Applications/Inkscape.app/Contents/MacOS/inkscape -o $OUTDIR/$row.pdf --without-gui $INDIR/$row.svg 
done

-2

私にとってそれを行うための最良の方法 は、無料のオンラインファイル変換サイトであるzamzar.comです。ソフトウェアツールをダウンロードせずにファイルを変換でき、1,000以上の異なる変換タイプをサポートします。


こんにちはuser17598様、GDSEへようこそ。ご協力いただきありがとうございます。私たちがあなたのリンクで見つけることができるものについてもう少し教えていただけませんか?リンクが切れた場合でも、あなたの投稿が将来の訪問者に役立つようにしてください。ありがとう、そしてご滞在をお楽しみください!
Vincent
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.