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。
在查看代码之前,下面是该过程所涉及的内容:
- 使用
Diagram类加载源 VSD 文件。 - 指定 PDF 保存选项(如果需要)。
- 调用
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 图表转换为 PDF,使用 Aspose.Diagram。该 API 内部处理所有渲染和布局细节。
VSD 文件转换为 PDF 使用 Stream
在某些情况下,您可能需要在Web应用程序或API中处理上传的文件,而不是直接处理磁盘上的文件。在这种情况下,您可以使用流来完全在内存中管理输入和输出。
请按照以下步骤使用流将 VSD 转换为 PDF:
- 将 VSD 文件读取到
FileStream或MemoryStream中。 - 从流中初始化
Diagram对象。 - 将转换后的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:
- 使用
Diagram类加载 VSD 文件。 - 定义一个
PdfSaveOptions实例。 - 指定页面索引(从0开始)。
- 仅将该页面保存为 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 文档:
- 在您的 C# 文件中导入 Aspose.Diagram 命名空间。
- 使用
Diagram类加载源 VSD。 - 创建和配置
PdfSaveOptions以用于背景页面、合规性和质量。 - 调用
Save并传入输出路径和配置选项。 - 验证导出的 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。

VSD 文件转 PDF:附加资源
你是否想看看你还可以用 Aspose.Diagram for .NET 做些什么?探索以下有用的资源:
VSD 到 PDF:常见问题解答
- 我需要安装 Microsoft Visio 才能使用 Aspose.Diagram 将 VSD 图表转换为 PDF 吗?
不,您不需要安装 Microsoft Visio。Aspose.Diagram for .NET 完全独立运行,并使用其强大的渲染引擎处理 Visio 文件。
- 我可以将其他 Visio 格式如 VSDX 或 VDX 转换为 PDF 吗?
是的,Aspose.Diagram 支持所有主要的 Visio 格式,包括 VSD、VSDX、VSS、VSSX、VDX 和 VTX。您可以使用相同的代码结构将它们中的任何一个转换为 PDF。
- 将其转换为 PDF 是否保留图表、形状和格式?
是的,Aspose.Diagram 确保它保留布局、颜色、字体和矢量形状,完全与原始 Visio 文件中的显示一致。
- 我可以只转换一页或几页,而不是整个 VSD 文件吗?
是的,通过使用 PdfSaveOptions 类,您可以指定 PageIndex 和 PageCount 属性,以便仅导出多页图表中的选定页面。
- 我如何在没有购买许可证的情况下测试该库?
您可以从 Aspose Temporary License page 请求一个免费的 30 天临时许可证。它解锁所有高级功能,没有任何水印。
- 是否有在线工具可以在不编码的情况下将 VSD 转换为 PDF?
是的,请访问 Free VSD to PDF Converter,使用相同的 Aspose 引擎立即在线转换您的 Visio 图表。
结论
在本文中,您学习了如何使用 Aspose.Diagram for .NET 在 C# 中将 VSD 文件转换为 PDF。如果您需要导出 Visio 图表、特定页面或自动化批量转换,该 API 提供了高效快速的解决方案,只需最少的代码。它还确保生成的 PDF 与原始 Visio 布局匹配,使其成为专业演示、文档和归档的理想选择。
今天就开始使用 Aspose.Diagram 吧!如果您有任何问题或需要帮助,请访问我们的 免费支持论坛。
