CAD 文件格式被设计师或建筑师用于在建筑、汽车、硬件等各个行业创建图纸。DWGDXF 是使用最广泛的 CAD但是,您需要专门的软件来查看 DWG 和 DXF 文件中的内容。为了解决这个限制,您可以将 CAD 图纸转换为 PDF 格式。在本文中,您将学习如何使用 Java 自动将 CAD 转换为 PDF 以及将 DWG 和 DXF 文件转换为 PDF。

Java CAD 到 PDF 转换器 API

Aspose.CAD for Java 是一个强大的 CAD 文件操作 API,可让您将 DWG 和 DXF 文件高保真地转换为 PDF。您可以 下载 API 的 JAR 或使用以下配置将其安装在基于 Maven 的应用程序中。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cad</artifactId>
    <version>20.10</version>
    <classifier>jdk16</classifier>
</dependency>

DWG 或 DXF 到 PDF Java 转换

以下是使用 Aspose.CAD for Java 将 DWG 或 DXF 文件转换为 PDF 的步骤。

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

// 加载源 CAD 文件
com.aspose.cad.Image objImage = com.aspose.cad.Image.load("sample.dwg");

// 创建 PdfOptions 的实例
PdfOptions pdfOptions = new PdfOptions();

// 将 CAD 导出为 PDF
objImage.save("dwg-to-pdf.pdf", pdfOptions);

Java DWG 或 DXF 转 PDF - 设置画布大小

Aspose.CAD for Java 还允许您在将 CAD 转换为 PDF 时设置画布大小。因此,您可以指定转换后的 PDF 文档中的页面大小。以下是执行此操作的步骤。

以下代码示例显示了如何在 DWG 或 DXF 中设置画布大小到 Java 中的 PDF 转换。

// 加载源 CAD 文件
com.aspose.cad.Image objImage = com.aspose.cad.Image.load("input.dwg");

CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
rasterizationOptions.setPageWidth(1600);
rasterizationOptions.setPageHeight(1600);

// 创建 PdfOptions 的实例
PdfOptions pdfOptions = new PdfOptions();

// 设置 VectorRasterizationOptions 属性
pdfOptions.setVectorRasterizationOptions(rasterizationOptions);

在 Java 中将 CAD 中的自动缩放为 PDF

您还可以在 CAD 到 PDF 转换中执行页面的自动缩放。当 CAD 绘图中的图层具有不同的尺寸时,此功能会非常有用。自动缩放功能根据 PDF 中统一的页面大小缩放图层。以下是执行自动缩放的步骤。

以下代码示例显示了如何使用自动缩放将 DWG 转换为 PDF。

// 加载源 CAD 文件
com.aspose.cad.Image objImage = com.aspose.cad.Image.load("input.dwg");

CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
rasterizationOptions.setPageWidth(1600);
rasterizationOptions.setPageHeight(1600);

// 设置自动缩放
rasterizationOptions.setAutomaticLayoutsScaling(true);

// 创建 PdfOptions 的实例
PdfOptions pdfOptions = new PdfOptions();

// 设置 VectorRasterizationOptions 属性
pdfOptions.setVectorRasterizationOptions(rasterizationOptions);

// 将 CAD 导出为 PDF
objImage.save("dwg-to-pdf.pdf", pdfOptions);

Java CAD 转 PDF - 设置背景和绘图颜色

默认情况下,CAD 绘图在 PDF 中以黑白颜色呈现。但是,您可以覆盖此功能并设置所需的背景和绘图颜色。以下是实现此目的的步骤。

以下代码示例显示了如何使用 Java 修改 DWG 或 DXF 到 PDF 转换中的颜色。

// 加载源 CAD 文件
com.aspose.cad.Image objImage = com.aspose.cad.Image.load("input.dwg");

CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
rasterizationOptions.setPageWidth(1600);
rasterizationOptions.setPageHeight(1600);

// 设置背景和绘图颜色 
rasterizationOptions.setDrawType(CadDrawTypeMode.UseDrawColor);
rasterizationOptions.setBackgroundColor(com.aspose.cad.Color.getBlue());

// 创建 PdfOptions 的实例
PdfOptions pdfOptions = new PdfOptions();

// 设置 VectorRasterizationOptions 属性
pdfOptions.setVectorRasterizationOptions(rasterizationOptions);

// 将 CAD 导出为 PDF
objImage.save("dwg-to-pdf.pdf", pdfOptions);

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

CAD 绘图通常由多个图层组成,在某些情况下,您可能只需将绘图的选定图层转换为 PDF。为此,您可以使用 CadRasterizationOptions.setLayers() 方法提供要转换的图层列表。以下代码示例显示了如何将 CAD 中的特定图层转换为 PDF 转换。

// 加载源 CAD 文件
com.aspose.cad.Image objImage = com.aspose.cad.Image.load("input.dwg");

CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
rasterizationOptions.setPageWidth(1600);
rasterizationOptions.setPageHeight(1600);

ArrayList<String> layers=new ArrayList<String>();
layers.add("LayerA");

// 设置背景和绘图颜色 
rasterizationOptions.setLayers(layers);

// 创建 PdfOptions 的实例
PdfOptions pdfOptions = new PdfOptions();

// 设置 VectorRasterizationOptions 属性
pdfOptions.setVectorRasterizationOptions(rasterizationOptions);

// 将 CAD 导出为 PDF
objImage.save("dwg-to-pdf.pdf", pdfOptions);

结论

在本文中,您学习了如何使用 Java 将 CAD 的 DWG 和 DXF 文件转换为 PDF。此外,您已经看到了可以根据需要自定义 CAD 到 PDF 转换的各种场景。您可以使用 文档 探索有关 Aspose 的 CAD API 的更多信息。

也可以看看