Inkscape <= 0.91ファイルを新しい0.92 CSS形式に自動変換する

Inkscape <= 0.91ファイルを新しい0.92 CSS形式に自動変換する

Inkscape 0.92は、以前のファイルと一致するように変換する必要があるかどうかをユーザーに尋ねます。新しい決意

ポップアップを選択

すべての古い写真をミリメートル単位でソートしました。スクリプトを使用してすべての古いファイルを変換するには?コマンドラインで使用できるinkscapeパラメータはありますか?

find -name "*.svg" | xargs inkscape ...

答え1

ファイルを見ると、コマンドラインからファイルを変換できます。

/usr/share/inkscape/extensions/dpiswitcher.py

(またはインストール場所に似た場所)これは変換を実行するコードと見なされ、inkscapeの外で実行されているようです。 svgファイルの名前を引数として指定し、次の違いを使用してstdoutにバージョンを作成します。

$ dpiswitcher.py /tmp/drawing.svg  >/tmp/new.svg
$ xmltidy  /tmp/new.svg 
$ xmltidy  /tmp/drawing.svg 
$ diff /tmp/drawing.svg  /tmp/new.svg

< <svg ... width="210mm" height="297mm" viewBox="0 0 744.09448819 1052.3622047" id="svg3336" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="drawing.svg">
---
> <svg ... width="793.700787417" height="1122.51968506" viewBox="0.0 0.0 793.700787403 1122.51968501" id="svg3336" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="drawing.svg">
17c17
<   <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1">
---
>   <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="matrix(1.066667,0.000000,0.000000,1.066667,0.000000,0.000000)">

組み込みのヘルプは次のとおりです。

$ dpiswitcher.py --help
Usage: dpiswitcher.py [options] SVGfile
Options:
  --id=IDS              id attribute of object to manipulate
  --selected-nodes=SELECTED_NODES
            id:subpath:position of selected nodes, if any
  --switcher=SWITCHER   Select the DPI switch you want
  --action=ACTION       

スイッチャとタスクをデフォルト値に設定できますが、IDとノードのリストを提供する必要があるかもしれません。おそらくguiを使用していくつかのファイルを変換し、このPythonスクリプトを使用して違いがあるかどうかを確認し、段階的に解決策を見つけることができます。

関連情報