我构建了一组包含不幸数目的硬编码值的SVG文件(它们必须以mm为单位的一些元素进行打印,而其他元素则必须按百分比进行缩放,而大部分值都是相对于彼此定义)。不用手工管理这些数字(天堂禁止我想改变某些东西),我想我可以用我的可靠锤子python来完成任务。使用Python创建SVG
SVG 1.1本身并不支持任何种类的可变方案,它可以让我做我想做的事,而且我也没有兴趣将javascript或不稳定的w3c草稿规范引入组合。一个明显的解决方案是使用字符串格式来读取,解析和替换我的SVG文件中的变量。对于更大的文档来说,这看起来不是个好主意,但具有简单便携的优点。
我的第二个目的是调查可用的python-> svg库。不幸的是,这几个选项似乎往往太新(pySVG仍然有一个不稳定的界面),太旧(自2005年以来没有更新)或放弃。我没有仔细观察,但我的感觉是,制图应用程序不够灵活,无法生成我的文档。
我遇到的第三种选择是使用一些其他绘图工具(例如cairo),它可以让人信服推出svg。这具有(潜在的)缺点,不是本地支持对我而言非常重要的绝对元素大小,但可能包括输出PDF的能力,这将是方便的。
我已经完成了谷歌搜索,所以我正在寻找使用任何提及的方法的人的输入,或者谁可能知道其他方法。选择任何解决方案的长期稳定性对我来说都很重要(这是手写代码而不是仅仅使用插图画家的原始原因)。
在这一点上,我倾向于第一个解决方案,因此建议使用python来解析和替换XML文件中的变量。
这是一个很好的观点。 XSLT仍然让我不寒而栗。对于SVG文档,Genshi应该允许我开发测试值,然后将其替换为方便。在工作时,我可以保持模板在我的浏览器中打开。 – 2009-08-30 15:22:20