自動化將 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
- 取得臨時授權:在臨時授權頁面註冊,並記下客戶端 ID 和密鑰。
使用 REST 在 Java 中將 DWT 轉換為 PDF
REST 端點 POST /cad/convert 接受 DWT 檔案並返回 PDF 文件。請求主體包含來源檔案名稱、期望的輸出格式(PDF)以及可選的轉換設定,例如光柵化 DPI 和圖層處理。該 API 在雲端處理檔案,免除對本機重型渲染引擎的需求。
Aspose.CAD Cloud SDK for Java 的關鍵功能
- 廣泛的 CAD 格式支援:支援 DWT、DWG、DXF、DWF,以及其他多種格式。
- 高品質 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 參考文件 中說明。
常見轉換錯誤排除
| 錯誤 | 可能原因 | 解決方法 |
|---|---|---|
| 401 Unauthorized | 無效或已過期的存取權杖 | 使用您的客戶端憑證重新產生權杖。 |
| 413 Payload Too Large | 檔案超過 100 MB 限制 | 在上傳前將圖紙分割或壓縮。 |
| 500 Internal Server Error | DWT 檔案中包含不支援的實體 | 在轉換前移除複雜實體或簡化圖紙。 |
使用 REST API 在 Java 中將 DWT 檔案轉換為 PDF 格式的步驟
- 建立 API 用戶端:使用您的 client ID 和 secret 初始化
CadApi。 - 上傳 DWT 檔案:使用
uploadFile將檔案串流至雲端儲存。 - 設定轉換選項:為 DPI 和頁面大小配置
CadConversionOptions。 - 呼叫轉換端點:使用
convertDocument,傳入來源檔名並將目標格式設為"PDF"。 - 下載 PDF:取得輸出檔案串流並將其儲存至本機。
如需詳細的類別資訊,請參閱 CadApi 參考頁面。
使用 REST 的 DWT 檔案轉換為 PDF 的 Java 實作 - 完整程式碼範例
以下範例展示了一個完整的端對端轉換流程,包括驗證、檔案上傳、轉換和下載。
注意: 此程式碼範例示範了核心功能。 在將其用於您的專案之前,請確保更新檔案路徑(
input.dwt、output.pdf等)以符合實際檔案位置,驗證所有必要的相依性已正確安裝,並在開發環境中徹底測試。 若遇到任何問題,請參閱官方文件或聯繫支援團隊以獲得協助。
使用 cURL 透過 REST API 進行遠端 CAD 檔案轉換為 PDF
相同的轉換可以使用簡單的 cURL 命令執行,這對於快速測試或與非 Java 服務的整合非常有用。
- 取得存取權杖
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"
- 上傳 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"
- 請求轉換為 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
}
}'
- 下載已轉換的 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 範例,您即可將可靠的 CAD‑to‑PDF 轉換功能加入您的企業或 SaaS 解決方案中。
常見問題
如何為 PDF 輸出指定自訂頁面尺寸?
使用 setPageWidth 和 setPageHeight 方法於 CadConversionOptions 物件上。尺寸以點 (1 pt = 1/72 英吋) 表示。請參閱 API 參考 以取得完整選項清單。
如果轉換返回 500 錯誤,我該怎麼辦?
500 錯誤通常表示來源 DWT 檔案中包含不受支援的實體。請透過移除複雜的剖面圖樣或 3D 物件來簡化圖紙,或在上傳前將圖紙匯出為較早的 DWG 版本。官方文件 提供了關於支援功能的指引。
我可以轉換儲存在私人雲端儲存中的 DWT 檔案嗎?
是的。使用 uploadFile 方法或相應的 cURL 命令將檔案上傳至 Aspose Cloud storage,然後在轉換請求中引用儲存路徑。驗證由相同的 OAuth 2.0 令牌處理。
是否有辦法在不將輸出寫入磁碟的情況下將 DWT 轉換為 PDF?
SDK 與 REST API 都可以將 PDF 以串流形式返回(Java 中的 InputStream)。您可以直接將此串流管道傳送至其他服務,或回傳給客戶端,而無需在伺服器上持久化。