我有一個非常類似的問題,如this post;我使用RaphaelJS生成圖表,但更具體地說,在我的情況下,我需要打印結果。我已經使用Inkscape's command line utility(它非常出色)將Raphael的SVG輸出轉換爲PNG文件,用戶可以下載並打印該文件。在.NET中將VML轉換爲SVG
問題是,它適用於Firefox等,但不適用於Internet Explorer。由於IE使用VML而不是SVG,Inkscape在用戶來自IE時不會轉換它。
我已經看過IECapt,可能已經完成了這項工作,但是在我的場景中,字面截圖不夠,因爲生成的圖表通常跨越多個屏幕寬度,我需要將它全部放在一個文件中。此外,用戶可以通過點擊節點等來修改圖表,而無需更改URL,所以實際上在我的情況下使用IECapt將需要URL參數來複製圖表的狀態。
我只需要從VML格式轉換我的頭,我可以擦拭這個項目!
鏈接
- Using Inkscape直接從C#應用程序
- IECapt
謝謝你;我應該提到我已經看過這篇文章,並且看了一下Vector Converter,但是似乎只有支持PHP的平臺才能使用VC?我正在研究企業內部網,並且無法支持PHP。 **編輯**:我剛剛看到您的編輯。如果我能找到任何東西,我會看看。 – Arj 2011-05-05 13:07:40
我不是一個.NET的人,所以我害怕我無法幫到那裏。似乎應該不會太難閱讀XML足以確定您是否擁有SVG或VML,然後在處理inkscape之前運行XSLT(如果它是VML)。如果你有能力在這個部署環境中編寫你自己的JS,你實際上可能會在客戶端執行VML - > SVG轉換(IE有一個內置的XSLT引擎),不過我會推薦後端處理if儘可能。 – peteorpeter 2011-05-05 13:19:20
感謝您的幫助,我現在只是對XSLT進行一些研究。你認爲這樣做會是正確的嗎? http://www.w3schools.com/xsl/xsl_client.asp - (滾動到「在瀏覽器中將XML轉換爲XHTML」)。 我有權訪問VectorConverter使用的xslt文件,因此它應該只是使用正確文件的情況? – Arj 2011-05-05 14:04:04