我有一个SVG文件,它引用了许多其他较小的SVG作为子图像。实际上,主SVG是定位所有其他SVG的模板。
我想创建一个我可以传递给人们的单个图片 - 即data ref或仅内联包含 - 但运行inkscape Embed Images
扩展会导致错误&# 34;图像不是PNG,JPEG等类型"。
所以听起来像inkscape(v0.48.5)扩展只能实习位图图像,而不能是SVG。长号。
我的图像是从主SVG中引用的,如此
<image id="PGDOWN_R1" x="1436.5" y="280" xlink:href="./symbols/PGDOWN_R3.svg"/>
那么如何自动实习/嵌入所有外部引用的SVG? (也欢迎非inkscape CLI选项)
答案 0 :(得分:6)
至少从inkscape 0.91开始,您可以通过extensions->images->Embed Images...
轻松地完成此操作
答案 1 :(得分:1)
我最终使用xmllint
将带句柄的SVG文件解析为包含所引用文件的嵌入版本的文件,这不是我的意思,但它符合我的目的:https://gitlab.com/fommil/attic/blob/master/kinesis-dvorak/create.sh#L37 < / p>
xmllint --xinclude picture.svg > picture-embedded.svg