我有一系列方形SVG文件,我想纵向排列成一个超长SVG文件。
我尝试使用imagemagick来组合它们。基于此页面: http://linux.about.com/library/cmd/blcmdl1_ImageMagick.htm
和这个
http://www.imagemagick.org/Usage/compose/
我试过这个命令
composite 'file1.svg' 'file2.svg' +adjoin 'outputfile.svg'
但是,我收到以下错误消息:
composite: unrecognized option '+adjoin' @ error/composite.c/CompositeImageCommand/565.
我尝试了其他几个imagemagick命令(转换,显示),但没有成功。如何在命令行上组合这些文件?是否有inkscape命令执行此操作?
答案 0 :(得分:3)
目前没有方便的方法只使用命令行而不使用自定义脚本。
我目前可以找到的最近的预先写好的东西(2012年4月16日)是https://github.com/astraw/svg_stack,它允许你编写以下形式的命令:
svg_stack.py --direction=h --margin=100 red_ball.svg blue_triangle.svg > shapes.svg
连接。
答案 1 :(得分:1)
如果您愿意使用脚本语言,那应该很容易。对于每个文件,只需为所有id标记添加前缀;所以在文件1中,id="circle"
变为id="file1_circle"
,而在文件2中,id="circle"
变为id="file2_circle"
。
在大多数情况下,您可以轻松搜索并替换(查找id="
并将其替换为id="fileX_
)尽管可能会出现无效的情况(特别是如果有的话)例如,查找字符串出现在文本项中。
如果你想以“正确的方式”这样做,你需要一个XML解析器(例如PHP中的XMLReader)。