我構建了一組包含不幸數目的硬編碼值的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