我有一个SVG文件,它引用了许多其他较小的SVG作为子图像.实际上,主SVG是定位所有其他SVG的模板.
我想创建一个我可以传递给人们的单个图像 - 即数据引用或仅内联包含 - 但运行inkscape Embed Images
扩展会导致错误"图像不是PNG,JPEG等类型".
所以听起来像inkscape(v0.48.5)扩展只能实习位图图像,而不是SVG.游民.
我的图像是从主SVG这样引用的
<image id="PGDOWN_R1" x="1436.5" y="280" xlink:href="./symbols/PGDOWN_R3.svg"/>
Run Code Online (Sandbox Code Playgroud)
那么如何自动实习/嵌入我所有外部引用的SVG?(也欢迎非inkscape CLI选项)
至少从inkscape 0.91开始,你可以extensions->images->Embed Images...
很容易地做到这一点
fom*_*mil -2
我最终使用xmllint
将带有句柄的 SVG 文件解析为包含引用文件的嵌入版本的文件,这并不完全是我的意思,但它适合我的目的: https: //gitlab.com/fommil/attic/blob/主/kinesis-dvorak/create.sh#L37
xmllint --xinclude picture.svg > picture-embedded.svg
Run Code Online (Sandbox Code Playgroud)