【发布时间】:2015-09-07 01:47:37
【问题描述】:
我有一个 SVG 文件,其中引用了许多其他较小的 SVG 作为子图像。实际上,主 SVG 是定位所有其他 SVG 的模板。
我想创建一个可以传递给人们的单个图像 - 即 data ref 或只是内联包含 - 但运行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"/>
那么,如何自动实习/嵌入所有外部引用的 SVG? (也欢迎非inkscape CLI 选项)
【问题讨论】:
-
我认为可以编写一个脚本来轻松完成嵌入,但我没有看到使用 Inkscape 的方法。
-
好吧,编写脚本始终是后备,但我想知道是否有一些东西已经可以做到这一点。当然人们在 SVG 中使用 DRY,对吧?除非在外部引用它们,否则如何在文件之间重用组件?
-
我认为这可能是 Merging multiple SVG files into one 的副本,但事实并非如此。
-
@Harry 我想知道是否有现有的 编程工具来实现这一点。而且,顺便说一句,inkscape 是一个编程工具(它有一个 CLI),因此我应该建议这是一个主题,无论采用何种方法。
-
这个答案有一个 hacky 但功能强大的 Perl 脚本,可以嵌入任何链接的图像:stackoverflow.com/questions/46472054/…