CAD 被设计人员用于创建各行各业的建筑物、桥梁、汽车、芯片等各种类型的设计。但是,CAD 格式(DWGDXF 等)只能在专用软件或 在线 CAD 查看器 中查看。为了使事情变得更容易,可以将 DWG/DXF 文件转换为 PDF 文件,无需任何依赖即可在任何地方查看。在本文中,您将学习如何使用 C# 将 CAD 的 DWG 或 DXF 文件转换为 PDF。

C# CAD 到 PDF 转换器 - 免费下载

Aspose.CAD for .NET 是一个强大的 CAD 到 PDF 转换器 API,让您可以轻松地将 DWG 和 DXF 文件转换为 PDF 格式。此外,它还允许您将 CAD 图纸转换为光栅图像。 API 可以使用 NuGet 安装,也可以从 下载 部分下载为 DLL。

PM> Install-Package Aspose.CAD

DWG 或 DXF 到 PDF C# 转换

以下是使用 Aspose.CAD for .NET API 将 DWG/DXF 文件转换为 PDF 格式的步骤。

以下代码示例显示了如何使用 C# 将 DWG 转换为 PDF。

using (Aspose.CAD.Image image = Aspose.CAD.Image.Load("sample.dwg"))
{                
	// 创建 PdfOptions 的实例
	Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions();

	// 将 CAD 导出为 PDF
	image.Save("result.pdf", pdfOptions);
}

C# DWG/DXF 转 PDF - 设置画布大小

Aspose.CAD for .NET 还允许您在转换后的 PDF 文档中指定页面大小(高度和宽度)。以下是在 CAD 到 PDF 转换中自定义页面大小的步骤。

以下代码示例展示了如何使用 C# 将 DXF 转换为 PDF。

using (Aspose.CAD.Image image = Aspose.CAD.Image.Load("input.dxf"))
{
	// 创建一个 CadRasterizationOptions 实例并设置其各种属性
	Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions();
	rasterizationOptions.PageWidth = 1600;
	rasterizationOptions.PageHeight = 1600; 

	// 创建 PdfOptions 的实例
	Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions();

	// 设置 VectorRasterizationOptions 属性
	pdfOptions.VectorRasterizationOptions = rasterizationOptions;

	// 将 CAD 导出为 PDF
	image.Save("result.pdf", pdfOptions);  
}

C# CAD 到 PDF - 自动缩放

CAD 绘图可能由多个图层组成,其中每个图层可能具有不同的尺寸。在各种情况下,您可能希望在转换后的 PDF 文件中具有统一的缩放比例。对于这种情况,您可以配置 API 以根据 PDF 文档中的页面大小自动缩放图层。以下是在 AutoCAD 到 PDF 转换中执行自动缩放的步骤。

以下代码示例展示了如何使用 C# 将 CAD 绘图转换为具有自动缩放功能的 PDF。

using (Aspose.CAD.Image image = Aspose.CAD.Image.Load("input.dxf"))
{
	// 创建一个 CadRasterizationOptions 实例并设置其各种属性
	Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions();
	rasterizationOptions.PageWidth = 1600;
	rasterizationOptions.PageHeight = 1600;
	rasterizationOptions.AutomaticLayoutsScaling = true; 

	// 创建 PdfOptions 的实例
	Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions();

	// 设置 VectorRasterizationOptions 属性
	pdfOptions.VectorRasterizationOptions = rasterizationOptions;

	// 将 CAD 导出为 PDF
	image.Save("result.pdf", pdfOptions);
}

修改转换后的 PDF 中的背景和绘图颜色

Aspose.CAD for .NET 还允许您修改转换后的 PDF 文档中 CAD 图纸的默认配色方案。以下是指定背景和绘图颜色的步骤。

以下代码示例显示了如何将 DWG/DXF 绘图转换为具有自定义背景和绘图颜色的 PDF。

using (Aspose.CAD.Image image = Aspose.CAD.Image.Load("input.dxf"))
{
	// 创建一个 CadRasterizationOptions 实例并设置其各种属性
	Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions();
	rasterizationOptions.PageWidth = 1600;
	rasterizationOptions.PageHeight = 1600;

	// 设置背景和绘图颜色
	rasterizationOptions.BackgroundColor = Aspose.CAD.Color.Beige;
	rasterizationOptions.DrawType = Aspose.CAD.FileFormats.Cad.CadDrawTypeMode.UseDrawColor;
	rasterizationOptions.DrawColor = Aspose.CAD.Color.Blue;

	// 创建 PdfOptions 的实例
	Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions();

	// 设置 VectorRasterizationOptions 属性
	pdfOptions.VectorRasterizationOptions = rasterizationOptions;

	// 将 CAD 导出为 PDF
	image.Save("result.pdf", pdfOptions);
}

使用 C# 将 CAD 的特定图层转换为 PDF

如果 AutoCAD 图形中有多个图层,您可以指定要在转换后的 PDF 文档中具有的图层。为此,您可以使用 CadRasterizationOptions.Layers 属性向 API 提供图层名称列表。以下代码示例显示了如何使用 C# 将 AutoCAD 绘图的特定图层转换为 PDF。

using (Aspose.CAD.Image image = Aspose.CAD.Image.Load("input.dxf"))
{
	// 创建一个 CadRasterizationOptions 实例并设置其各种属性
	Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions();
	rasterizationOptions.PageWidth = 1600;
	rasterizationOptions.PageHeight = 1600;
	rasterizationOptions.Layers = new string[] { "LayerA" };

	// 创建 PdfOptions 的实例
	Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions();

	// 设置 VectorRasterizationOptions 属性
	pdfOptions.VectorRasterizationOptions = rasterizationOptions;

	// 将 CAD 导出为 PDF
	image.Save("result.pdf", pdfOptions);
}

结论

在本文中,您了解了如何使用 C# 将 CAD 的 DWG 或 DXF 文件转换为 PDF。此外,您还学习了如何使用 Aspose.CAD for .NET API 在各种场景中自定义 CAD 到 PDF 的转换。您可以使用 文档 探索有关 API 的更多信息。

也可以看看