我試圖從矢量格式的Visio項目中獲取形狀。可以從Visio UI執行此操作,但我無法以編程方式完成此操作。我的代碼如下所示:如何獲得矢量格式的Visio形狀
foreach (Visio.Master master in doc.Masters)
{
imageName = master.NameU;
string imageFileName = Path.Combine(@"c:\temp", imageName);
master.Export(imageFileName + ".svg");
}
函數導出檢測到傳遞的文件擴展名和導出形狀爲此格式。它適用於任何光柵格式,如bmp png等。我可以將項目的形狀作爲無問題的光柵文件。如果我傳遞格式如emf或wmf,它也會保存所有文件,而且它們實際上是wmf/emf格式。但是他們嵌入了光柵圖像,所以實際上它們是光柵圖像。
最後一個驚喜 - 如果我傳遞svg擴展名,除了幾個之外,所有導出的文件都是空的。這些是真的不是空的svg,但他們顯示整個visio頁面!不是一個單一的形狀。每個項目頁面的一個svg文件。這不是我想要的。
所以請幫助我 - 如何以編程方式從visio中獲取矢量格式的所有形狀。
謝謝你的意見!是的,Visio可以將每個主圖形從模板導出到svg。創建具有單一形狀的圖表的好主意,它可以是有幫助的。可能我會試試這個。作爲另一種選擇,我想嘗試將整個svg圖(我可以很容易地)分成幾個形狀。其他方式太難了。我不想深入研究地形圖,即使我設法得到形狀幾何,還有其他我需要的視覺屬性 - 樣式等。 – AlexandrS