Microsoft Visio 使用 VSD 文件来保存专业图表、流程图和业务流程模型。然而,如果收件人没有安装 Microsoft Visio,以 VSD 格式共享 Visio 图表可能会无效。一种通用的、便携的共享图表的方法,同时保持格式和排列,是将 VSD 文件转换为 PDF 文档。本文将教您如何在 C# 中将 VSD 转换为 PDF。

C# VSD 到 PDF 转换器:Aspose.Diagram for .NET

如果您是一名经常处理 Microsoft Visio 文件的 C# 开发人员,Aspose.Diagram for .NET 会让您的生活轻松很多。它是一个强大的库,允许开发人员完全通过代码创建、编辑和转换 Visio 图表,而无需安装 Microsoft Visio。

使用这个库,您可以完全控制您的 Visio 文档。无论您是想从零开始构建图表,调整现有的形状和图层,还是将您的作品导出为 PDF、SVG、HTML 或图像等格式,Aspose.Diagram 都能顺利处理这一切。

您可以使用 Aspose.Diagram for .NET 做些什么

  • 在没有 Visio 的情况下工作:加载、编辑和保存 Visio 图表,而无需安装 Microsoft Visio。
  • 轻松转换:将您的图表导出为 PDF、SVG、HTML 和图像文件等流行格式。
  • 访问每个细节:以编程方式管理 Visio 文件中的页面、形状、图层和所有其他元素。
  • 支持多种格式:以各种 Visio 格式打开和保存图表,包括 VSD、VSDX、VSS、VSSX 和 VDX。

要开始使用 Aspose.Diagram for .NET, 下载库 或通过 NuGet 使用以下命令安装:

Install-Package Aspose.Diagram

将 VSD 转换为 PDF 在 C# 中

Aspose.Diagram for .NET 使转换过程简单高效。您只需几行代码即可将 VSD 转换为 PDF。

在查看代码之前,下面是该过程所涉及的内容:

  1. 使用 Diagram 类加载源 VSD 文件。
  2. 指定 PDF 保存选项(如果需要)。
  3. 调用 Save() 方法将文件导出为 PDF 格式。

以下示例展示了如何使用 Aspose.Diagram for .NET 将 VSD 文件转换为 PDF。

using Aspose.Diagram;

// 步骤 1:加载源 VSD 文件
Diagram diagram = new Diagram("Drawing1.vsd");

// 步骤2:将文件保存为PDF
diagram.Save("Drawing1_out.pdf", SaveFileFormat.Pdf);
将 Visio VSD 转换为 PDF 的 C# 代码

将 Visio VSD 图表转换为 PDF 的 C# 代码。

这个简单的例子演示了您可以多快将 Visio 图表转换为 PDF,使用 Aspose.Diagram。该 API 内部处理所有渲染和布局细节。

VSD 文件转换为 PDF 使用 Stream

在某些情况下,您可能需要在Web应用程序或API中处理上传的文件,而不是直接处理磁盘上的文件。在这种情况下,您可以使用流来完全在内存中管理输入和输出。

请按照以下步骤使用流将 VSD 转换为 PDF:

  1. 将 VSD 文件读取到 FileStreamMemoryStream 中。
  2. 从流中初始化 Diagram 对象。
  3. 将转换后的PDF保存到另一个流或直接保存到磁盘。

以下代码示例演示了如何使用流将 VSD 文件转换为 PDF 文档,使用 C#。

using Aspose.Diagram;

// 在流中加载 VSD 文件
using (FileStream inputStream = new FileStream("sample.vsd", FileMode.Open))
{
    // 从流中加载 VSD
    Diagram diagram = new Diagram(inputStream);

    using (FileStream outputStream = new FileStream("diagram-stream.pdf", FileMode.Create))
    {
        // 将 PDF 保存为流
        diagram.Save(outputStream, SaveFileFormat.Pdf);
    }
}

使用流提供了灵活性,并且非常适合基于网络的应用程序、API或云环境,在这些环境中,您可能不想存储临时文件。

将 VSD 文件的特定页面转换为 PDF 使用 C#

有时,您可能只需要从 Visio 图表中导出单个页面或几个特定页面,而不是转换整个文件。Aspose.Diagram 通过使用 PdfSaveOptions 类使这变得简单。

按照以下步骤将 VSD 图表的特定页面转换为 PDF:

  1. 使用 Diagram 类加载 VSD 文件。
  2. 定义一个 PdfSaveOptions 实例。
  3. 指定页面索引(从0开始)。
  4. 仅将该页面保存为 PDF。

以下代码示例展示了如何在 C# 中将 VSD 图表的特定页面转换为 PDF。

using Aspose.Diagram;

// 加载 VSD 图表
Diagram diagram = new Diagram("Sample.vsd");

// 初始化 PDF 保存选项
PdfSaveOptions options = new PdfSaveOptions
{
    PageIndex = 1,  // Export second page (index starts from 0)
    PageCount = 1   // Export only one page
};

// 将特定页面保存为PDF
diagram.Save("specific-page.pdf", options);

将 VSD 转换为 PDF,带自定义 PDF 选项

这个示例加载一个 Visio 文件,配置 PDF 设置以确保合规性和图像质量,然后将图表导出为 PDF 文件。当您需要控制背景页面、PDF/A 合规性和 JPEG 压缩质量时,请使用它。

按照以下步骤自定义转换后的 PDF 文档:

  1. 在您的 C# 文件中导入 Aspose.Diagram 命名空间。
  2. 使用 Diagram 类加载源 VSD。
  3. 创建和配置 PdfSaveOptions 以用于背景页面、合规性和质量。
  4. 调用 Save 并传入输出路径和配置选项。
  5. 验证导出的 PDF。

以下代码示例演示了如何使用 C# 将 VSD 图表转换为带有自定义选项的 PDF 文档。

using Aspose.Diagram;
using Aspose.Diagram.Saving;

// 1. 从磁盘加载源 Visio 图表。
Diagram diagram = new Diagram("sample.vsd");

// 2. 准备 PDF 保存选项
PdfSaveOptions options = new PdfSaveOptions
{
    // 将前景和背景页面都包含在 PDF 中。
    // 如果您只想要主要内容页面,请将其设置为 true。
    SaveForegroundPagesOnly = false,

    // 生成一个符合 PDF/A-1b 标准的文件。
    Compliance = PdfCompliance.PdfA1b,

    // 对所有页面内的点阵内容使用最高的JPEG质量。
    // 如果您需要更小的输出文件大小,请降低此值。
    JpegQuality = 100
};

// 3. 将图表导出为 PDF。
diagram.Save("save-diagram.pdf", options);

您可以控制导出的 PDF 中图层、网格和背景页面的显示方式,以实现最佳的打印和共享质量。

将多个 VSD 文件转换为 PDF

如果您需要批量转换多个 Visio 图表,可以使用一个简单的循环来自动化该过程。

using Aspose.Diagram;

// 从目标文件夹中获取所有 .vsd 文件。
string[] files = Directory.GetFiles("D:\\Files\\", "*.vsd");

// 遍历上述返回的每个 Visio 文件路径。
foreach (var file in files)
{
    // 将Visio图表从当前文件路径加载到内存中。
    Diagram diagram = new Diagram(file);

    // 通过将原始扩展名替换为 .pdf 来构建输出 PDF 文件路径
    string pdfFile = Path.ChangeExtension(file, ".pdf");

    // 将当前加载的图表保存为PDF文件到计算的路径。
    diagram.Save(pdfFile, SaveFileFormat.Pdf);
}

获取免费许可证

您可以通过申请免费的临时许可,毫无限制地尝试 Aspose.Diagram for .NET 的所有功能。这可以帮助您在购买之前测试转换、渲染质量和高级选项的完整模式。只需前往 Aspose Temporary License page 免费获取一个。下载许可证文件,并使用以下代码在您的 C# 项目中应用它:

Aspose.Diagram.License license = new Aspose.Diagram.License();
license.SetLicense("YourLicense.lic");

一旦应用,评估水印将被移除,所有功能将完全启用。

在线将 VSD 转换为 PDF

如果您倾向于不编写任何代码,您可以使用由 Aspose.Diagram 提供的 免费在线 VSD 转 PDF 转换器。只需上传您的 Visio 图表即可立即下载转换后的 PDF。

Image

VSD 文件转 PDF:附加资源

你是否想看看你还可以用 Aspose.Diagram for .NET 做些什么?探索以下有用的资源:

VSD 到 PDF:常见问题解答

  1. 我需要安装 Microsoft Visio 才能使用 Aspose.Diagram 将 VSD 图表转换为 PDF 吗?

不,您不需要安装 Microsoft Visio。Aspose.Diagram for .NET 完全独立运行,并使用其强大的渲染引擎处理 Visio 文件。

  1. 我可以将其他 Visio 格式如 VSDX 或 VDX 转换为 PDF 吗?

是的,Aspose.Diagram 支持所有主要的 Visio 格式,包括 VSD、VSDX、VSS、VSSX、VDX 和 VTX。您可以使用相同的代码结构将它们中的任何一个转换为 PDF。

  1. 将其转换为 PDF 是否保留图表、形状和格式?

是的,Aspose.Diagram 确保它保留布局、颜色、字体和矢量形状,完全与原始 Visio 文件中的显示一致。

  1. 我可以只转换一页或几页,而不是整个 VSD 文件吗?

是的,通过使用 PdfSaveOptions 类,您可以指定 PageIndex 和 PageCount 属性,以便仅导出多页图表中的选定页面。

  1. 我如何在没有购买许可证的情况下测试该库?

您可以从 Aspose Temporary License page 请求一个免费的 30 天临时许可证。它解锁所有高级功能,没有任何水印。

  1. 是否有在线工具可以在不编码的情况下将 VSD 转换为 PDF?

是的,请访问 Free VSD to PDF Converter,使用相同的 Aspose 引擎立即在线转换您的 Visio 图表。

结论

在本文中,您学习了如何使用 Aspose.Diagram for .NET 在 C# 中将 VSD 文件转换为 PDF。如果您需要导出 Visio 图表、特定页面或自动化批量转换,该 API 提供了高效快速的解决方案,只需最少的代码。它还确保生成的 PDF 与原始 Visio 布局匹配,使其成为专业演示、文档和归档的理想选择。

今天就开始使用 Aspose.Diagram 吧!如果您有任何问题或需要帮助,请访问我们的 免费支持论坛

另请参阅