VSD 转 SVG

VSD 文件格式是 Microsoft Visio 应用程序的原生格式,包含高级图表和矢量图形。这种格式使得图表、组织结构图和复杂流程图的呈现变得非常方便。但是,为了查看这些文件,需要使用 Microsoft Visio 等特定软件,而且,如果我们需要将这些详细信息放在网页上,就会变得非常复杂。因此,我们可以选择将 VSD 文件转换为可缩放矢量图形 (SVG) 格式。一旦我们有了 SVG,就可以使用标签。因此,在本文中,我们将介绍使用 C# .NET REST API 将 VSD 转换为 SVG 的步骤。

Visio 文件处理 API

Aspose.Diagram Cloud 是我们的 REST API,可让用户创建、编辑 Visio 文件和流程图并将其转换为其他受支持的格式。无需安装 Microsoft Visio 或其他应用程序即可执行所有这些操作。此外,我们还创建了免费的 SDK 作为 Cloud API 的包装器,以便您可以使用自己选择的语言执行所有文档处理操作。因此,在本文中,我们将讨论使用 Aspose.Diagram Cloud SDK for .NET 进行的转换操作。

安装

使用 Cloud SDK 的第一步是安装。它可以通过 NuGetGitHub 下载。您可以考虑在终端中执行以下命令通过 NuGet 安装 SDK:

nuget install Aspose.Diagram-Cloud

NuGet 包管理器

或者在 Visual Studio 中的包管理器控制台中执行以下命令来在项目中获取和引用 Aspose.Diagram 程序集。

PM> Install-Package Aspose.Diagram-Cloud

如果您已经拥有Aspose.Diagram Cloud SDK for .NET并且想要升级它,请执行以获取最新版本。

Update-Package Aspose.Diagram-Cloud

Visual Studio

另一种方法是直接在 Visual Studio 解决方案中安装:

  1. 打开解决方案资源管理器。
  2. 展开项目并右键单击解决方案中的“包”文件夹。
  3. 选择管理 NuGet 包… 选项
  4. 单击浏览选项卡并搜索“Aspose.Diagram-Cloud”。
  5. 单击 Aspose.Diagram-Cloud 包,在右侧选项卡中选择适当的版本,然后单击添加包按钮。
Aspose.Diagram-Cloud 参考

图 1:- Aspose.Diagram Cloud 作为 NuGet 包。

云订阅

安装后,设置和配置的下一个主要步骤是通过 Aspose.Cloud 仪表板 进行免费帐户订阅。无需信用卡或其他付款详细信息,在免费订阅帐户下,您可以执行最多 150 个免费文档处理请求。因此,如果您有 GitHub 或 Google 帐户,只需注册即可。否则,单击 创建新帐户 按钮并提供所需信息。现在使用凭据登录仪表板并从仪表板展开应用程序部分,然后向下滚动到客户端凭据部分以查看客户端 ID 和客户端密钥详细信息。

客户端凭证

图片 2:- Aspose.Cloud 仪表板上的客户端凭证。

在 C# 中将 VSD 转换为 SVG

请按照下面指定的说明使用 C# .NET 代码片段将 VSD 文件转换为 SVG 格式。请注意,此代码片段要求输入的 VSD 文件位于云存储中。

  • 首先,使用字符串变量定义客户端凭证
  • 其次,创建 DiagramApi 的实例,并将客户端凭据详细信息作为参数传递
  • 第三,调用DiagramApi的DownloadFileWithFormat(..)方法进行转换操作
  • 最后,使用 File.Create 对象(如 saveToDisk 方法所示)将输出保存在本地系统上
// 从 https://dashboard.aspose.cloud/ 获取 ClientID
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
            
// 创建 DiagramApi 对象
DiagramApi diagramApi = new DiagramApi("client_credentials", clientID, clientSecret);

// 源 VSD 文件可在云存储中找到
String inputFile = "Raise-PO-Process-Flow-Chart.vsd";
// 生成的 SVG 文件名
String resultant = "conveted.svg";

try
{
    // 启动文件转换过程
    var response = diagramApi.DownloadFileWithFormat(inputFile,format: "SVG", null);
    if (response != null )
    {
        Console.WriteLine("Successfully converted VSD to SVG !");
    }
    // 自定义方法将结果文件保存在本地系统驱动器上
    saveToDisk(response, "/Users/nshahbaz/Downloads/" + resultant);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
            
public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

上述示例所使用的示例文件可从 Purchase Order Flowchart.vsdConverted.svg 下载。

转换后的 SVG 预览

图 3:生成的 SVG 文件的预览。

使用 cURL 命令将 VSD 转换为 SVG

由于我们的 API 是根据 REST 架构开发的,因此也可以通过 cURL 命令访问它们。另外,请注意,为了访问 API,我们需要根据我们个性化的客户端凭据生成 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 -X GET "https://api.aspose.cloud/v3.0/diagram/Raise-PO-Process-Flow-Chart.vsd?format=SVG" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o Converted.svg

结论

在本文中,我们讨论了如何使用 C# 加载和转换 VSD 为 SVG 的简单步骤。除了代码片段之外,我们还探讨了通过 cURL 命令将 Visio 文件转换为 SVG 的可能性。请注意,我们的 SDK 是根据 MIT 许可证提供的,可以从 GitHub 下载。如果您在使用 API 时遇到任何问题或有任何相关疑问,请随时通过 免费支持论坛 与我们联系。

快速提示

为了查看 VSD 文件,您可以尝试使用我们的 免费在线 Visio 查看器

相关文章

我们还建议您访问以下链接以了解更多信息