
Microsoft Visio 通常用於商業環境中組織、視覺化和傳達複雜的工作流程,例如組織架構圖、資料庫模型、業務流程圖。微軟在發布 Visio 2013 時引入了 VSSX 格式。因此,為了開啟、編輯和儲存 VSSX 文件,我們使用 Microsoft Visio。但是,它僅適用於 Windows 平台,微軟沒有適用於 macOS 或 Linux 平台的 Visio 桌面版本。因此,從可移植性的角度來看,我們可以考慮將VSSX 檔案轉換為SVG 格式,該格式具有可擴展性、SEO 友好性、可編輯性和在任何平台上的分辨率獨立性等優點。此外,SVG 靈活,符合 W3C 標準,輕量、可列印、可索引,且易於壓縮。
在本文中,我們將更詳細地討論以下主題
Visio 檔案處理 API
Aspose.Diagram Cloud 是一個 REST API,提供建立、編輯和渲染 Visio 圖表為其他流行格式的功能。此外,基於 Aspose.Diagram Cloud 的應用程式不需要任何第三方軟體來處理 Microsoft Visio 圖表/流程圖,而是依賴自己的引擎。因此,借助此易於使用的解決方案,您可以用更少的程式碼行對 Visio 檔案執行複雜的操作。這種設計可以輕鬆地專注於業務需求,而不用擔心內部實施的複雜性。
現在,為了進一步方便我們的客戶,我們已經創建了特定於程式語言的 SDK,以便他們可以在他們最喜歡的 IDE 中利用 Visio 檔案處理。為了在 .NET 應用程式中將 Visio 檔案轉換為 SVG 格式,請嘗試使用 Aspose.Diagram Cloud SDK for .NET。
安裝
使用 Cloud SDK 的第一步是安裝。它可以從 NuGet 或 GitHub 下載。請在終端機中執行以下命令,透過NuGet安裝SDK:
nuget install Aspose.Diagram-Cloud
或在 NuGet 套件管理器中執行以下命令:
PM> Install-Package Aspose.Diagram-Cloud

圖 1:- 使用 NuGet 套件管理器安裝套件。
Visual Studio 安裝
Cloud SDK 也可以直接在 Visual Studio 解決方案中新增:
- 開啟解決方案資源管理器。
- 展開專案並右鍵單擊解決方案中的“包”資料夾。
- 選擇管理 NuGet 套件… 選項
- 點擊瀏覽標籤並蒐索“Aspose.Diagram-Cloud”。
- 點擊 Aspose.Diagram-Cloud 包,在右側標籤中選擇適當的版本,然後點擊新增包按鈕。

圖 2:- Visual Studio 2022 中的 Aspose.Diagram-Cloud。
雲端訂閱
安裝完成後,下一步是透過存取Aspose.Cloud 儀表板建立免費訂閱帳戶。在訂閱期間,不需要信用卡或其他付款詳細資訊。此外,在免費訂閱帳戶下,您最多可以執行 150 個免費文件處理請求。
因此,請使用您的 GitHub 或 Google 帳戶進行簡單註冊,或點擊 建立新帳戶 按鈕並提供所需的資訊。現在使用憑證登入儀表板並從儀表板展開應用程式部分並向下捲動至用戶端憑證部分以查看用戶端 ID 和用戶端金鑰詳細資訊。

圖 3:Aspose.Cloud 儀表板上的客戶端憑證。
在 C# 中將 VSSX 轉換為 SVG
轉換過程快速且可靠,無論最終檔案格式為何,都能提供高保真結果。
- 第一步是建立 DiagramApi 類別的實例,同時傳遞 ClientID 和 ClientSecret 詳細資料作為參數
- 其次,將輸入的 VSSX 內容讀入 FileStream 實例
- 第三,透過傳遞相同的 ClientID 和 Client Secret 詳細資訊作為參數來建立 StorageApi 類別的對象
- 下一步是使用 StorageApi 的 UploadFile(…) 方法將 VSSX 檔案上傳到雲端存儲
- 現在呼叫 DiagramApi 的 DownloadFileWithFormat(..) 方法來啟動檔案轉換操作
- 最後,使用 File.Create 物件將結果檔案保存在本機磁碟機上
// 從 https://dashboard.aspose.cloud/ 取得 ClientID
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// 建立 DiagramApi 對象
DiagramApi diagramApi = new DiagramApi("client_credentials", clientID, clientSecret);
// 輸入 VSSX 檔名
String inputFile = "MVPSession1SimpleTimeline.vssx";
// 生成的 SVG 檔名
String resultant = "Conveted.svg";
try
{
// 從本機磁碟機讀取輸入 VSSX 文件
using (var inputStream = new FileStream("C:\\Users\\Downloads\\" + inputFile, FileMode.Open))
{
// 建立儲存類別實例
StorageApi storageApi = new StorageApi("client_credentials", clientID, clientSecret);
// 將輸入 VXXS 檔案上傳至雲端存儲
storageApi.UploadFile(inputFile, inputStream);
// 啟動文件轉換過程
var response = diagramApi.DownloadFileWithFormat(inputFile, format: "SVG", null);
if (response != null)
{
Console.WriteLine("Successfully converted VSD to SVG !");
}
// 自訂方法將結果檔案保存在本機系統磁碟機上
saveToDisk(response, "C:\\Users\\Downloads\\" + resultant);
}
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
上述範例中使用的輸入 VSSX 和 SVG 檔案可以從 MVPSession1SimpleTimeline.vssx 和 converted.svg 下載。

圖 4:VSSX 到 SVG 轉換的預覽。
使用 cURL 指令將 VSSX 轉換為 SVG
由於我們的雲端 API 是基於 REST 架構,因此也可以使用 cURL 命令進行存取。但如前所述,只有授權人員才能存取 API,因此我們需要根據客戶端 ID 和客戶端金鑰詳細資訊建立 JWT 存取權杖。請執行以下命令來產生 JWT 存取令牌。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
一旦我們產生了 JWT 存取令牌,請使用以下 cURL 命令將檔案上傳到雲端儲存。
curl -X PUT "https://api.aspose.cloud/v3.0/diagram/storage/file/MVPSession1SimpleTimeline.vssx" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d {"File":{}}
現在檔案已上傳到雲端存儲,請執行以下命令進行轉換並將輸出保存在指定位置。
curl -X GET "https://api.aspose.cloud/v3.0/diagram/MVPSession1SimpleTimeline.vssx?format=SVG" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.svg
結論
在本文中,我們討論了 Aspose.Diagram Cloud 將 VSSX 檔案格式轉換為 SVG 的功能。我們討論了使用 C# .NET 程式碼以及使用 cURL 指令執行轉換的步驟。我們的 SDK 是在 MIT 許可下開發的,其完整的原始程式碼可以從 GitHub 下載。此外,如果您在使用 API 時遇到任何問題,請隨時透過 免費支援論壇 聯絡。
相關文章
我們還建議您訪問以下連結以了解更多信息