自动化将 CAD 图纸转换为 PDF 对于许多需要渲染、共享或归档设计的企业和 SaaS 应用程序至关重要。Aspose.CAD Cloud SDK for Java 提供了一个强大的基于 REST 的库,简化了 Java 开发者的此类工作。在本指南中,您将了解如何设置 SDK、探索其关键特性、配置性能选项,并使用 Java 代码和 cURL 命令执行完整的 DWT 到 PDF 的转换。

Java 中的安装和设置

本节涵盖了编写代码之前所需的所有内容。

  • 系统要求: Java 8 或更高版本,Maven 3.5+,用于 API 调用的互联网连接。
  • 下载: 从此页面获取最新库。
  • Maven 依赖
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cad-cloud</artifactId>
    <version>23.12</version>
</dependency>
  • 安装命令
mvn install com.aspose:aspose-cad-cloud

使用 REST 在 Java 中将 DWT 转换为 PDF

REST 端点 POST /cad/convert 接受 DWT 文件并返回 PDF 文档。请求体包括源文件名、期望的输出格式(PDF)以及可选的转换设置,例如光栅化 DPI 和图层处理。该 API 在云端处理文件,免去了本地繁重的渲染引擎需求。

Aspose.CAD Cloud SDK for Java 的主要功能

  • 广泛的 CAD 格式支持:支持 DWT、DWGDXFDWF,以及更多格式。
  • 高质量 PDF 输出:保留线宽、颜色和图层。
  • 流式支持:在不将整个文件加载到内存的情况下上传大文件。
  • 可定制的渲染选项:控制 DPI、页面大小以及矢量与光栅输出。
  • 安全的云处理:所有数据通过 HTTPS 并使用 OAuth 2.0 认证进行传输。

配置 Aspose.CAD Cloud SDK 以获得最佳性能

通过调整 CadConversionOptions 对象来微调转换:

  • setDpi(int dpi) - 更高的 DPI 可以提升细节,但会增大文件大小。
  • setPageWidth(int width) / setPageHeight(int height) - 定义明确的页面尺寸。
  • setLayers(String[] layers) - 仅转换选定的图层以减少处理时间。

这些设置已记录在 API reference

常见转换错误排查

错误 可能原因 解决办法
401 Unauthorized 无效或已过期的访问令牌 使用客户端凭据重新生成令牌。
413 Payload Too Large 文件超过 100 MB 限制 在上传前拆分图纸或进行压缩。
500 Internal Server Error DWT 文件中包含不受支持的实体 删除复杂实体或在转换前简化图纸。

将 DWT 文件转换为 PDF 格式的 REST API 在 Java 中的步骤

  1. 创建 API 客户端:使用您的 client ID 和 secret 初始化 CadApi
  2. 上传 DWT 文件:使用 uploadFile 将文件流式传输到云存储。
  3. 设置转换选项:为 DPI 和页面大小配置 CadConversionOptions
  4. 调用转换端点:使用源文件名和 "PDF" 作为目标格式调用 convertDocument
  5. 下载 PDF:获取输出文件流并将其保存到本地。

有关详细的类信息,请参阅 CadApi 参考页面。

使用 REST 将 DWT 文件转换为 PDF 的 Java 实现 - 完整代码示例

以下示例演示了完整的端到端转换过程,包括身份验证、文件上传、转换和下载。

注意: 此代码示例演示了核心功能。在项目中使用之前,请确保更新文件路径(input.dwtoutput.pdf 等)以匹配实际文件位置,验证所有必需的依赖项已正确安装,并在开发环境中彻底测试。如果遇到任何问题,请参阅官方文档或联系支持团队获取帮助。

远程 CAD 文件转换为 PDF(通过 REST API 使用 cURL)

相同的转换可以使用简单的 cURL 命令执行,这对于快速测试或与非 Java 服务的集成非常有用。

  1. 获取访问令牌
curl -X POST "https://api.aspose.cloud/connect/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. 上传 DWT 文件
curl -X PUT "https://api.aspose.cloud/v3.0/storage/file/input.dwt" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary "@input.dwt"
  1. 请求转换为 PDF
curl -X POST "https://api.aspose.cloud/v3.0/cad/convert" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "inputPath": "input.dwt",
           "outputPath": "output.pdf",
           "outputFormat": "PDF",
           "options": {
               "dpi": 300,
               "pageWidth": 2100,
               "pageHeight": 2970
           }
         }'
  1. 下载已转换的 PDF
curl -X GET "https://api.aspose.cloud/v3.0/storage/file/output.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.pdf

有关请求负载的更多详细信息,请参阅官方 API 文档

结论

使用 REST 在 Java 中将 DWT 转换为 PDF 变得简单,只需使用 Aspose.CAD Cloud SDK for Java。该 SDK 负责身份验证、文件流处理以及高质量渲染,而 REST API 使您能够将转换集成到任何基于 Java 的后端或微服务中。请记得在生产环境中使用有效许可证;您可以购买完整许可证或从 临时许可证页面 获取临时许可证。通过提供的步骤、代码和 cURL 示例,您已准备好在企业或 SaaS 解决方案中添加可靠的 CAD‑to‑PDF 转换功能。

常见问题

如何为 PDF 输出指定自定义页面尺寸?
使用 CadConversionOptions 对象上的 setPageWidthsetPageHeight 方法。尺寸以点为单位表示(1 pt = 1/72 英寸)。请参阅 API 参考 以获取完整的选项列表。

我应该怎么做如果转换返回 500 错误?
500 错误通常表示源 DWT 文件中存在不受支持的实体。通过删除复杂的填充图案或 3D 对象来简化图纸,或在上传前将图纸导出为更早的 DWG 版本。官方文档 提供了有关受支持功能的指导。

我可以转换存储在私有云存储中的 DWT 文件吗?
是的。使用 uploadFile 方法或相应的 cURL 命令将文件上传到 Aspose Cloud 存储,然后在转换请求中引用存储路径。身份验证由相同的 OAuth 2.0 令牌处理。

有没有办法在不将输出写入磁盘的情况下将 DWT 转换为 PDF?
SDK 和 REST API 都可以将 PDF 作为流返回(Java 中的 InputStream)。您可以直接将此流管道传输到其他服务,或在服务器上不持久化的情况下将其返回给客户端。

Read More