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 脚本您可以查看是否存在差异,从而逐步找到解决方案。