DOC 檔案轉換為 PDF 是 Java 應用程式在需要產生可列印或存檔文件時的常見需求。 Aspose.HTML Cloud SDK for Java 提供功能強大的雲端庫,簡化此任務。在本指南中,您將學習如何設定 SDK、編寫轉換程式碼,並使用 cURL 命令執行相同操作,從而高效地在 Java 中自動化 DOC 到 PDF 的轉換。

為什麼在 Java 中將 DOC 檔案轉換為 PDF 需要自動化

許多企業處理大量遺留的 DOC 文件批次,必須重新分發為 PDF 以確保一致性和安全性。手動轉換耗時、易出錯,且無法應對高容量工作負載。開發人員需要一種可在伺服器上運行、與 CI 流程整合且能保持文件完整性的程式化方法。

方法:基於雲端的命令列轉換

Aspose.HTML Cloud SDK for Java 提供一個基於 REST 的 API,可從 Java 程式碼調用,或直接透過 cURL 等命令列工具使用。SDK 開箱即支援格式偵測、字型嵌入以及影像品質設定。透過雲端服務,您無需在伺服器上安裝龐大的原生函式庫,同時仍能實現高品質的 DOC 轉 PDF 轉換。詳細的 API 使用說明請參閱官方文件API 參考

在 Java 中使用 Aspose.HTML 实现 DOC 到 PDF 的转换

設定 Maven 依賴項

將 Aspose.HTML Cloud Maven 依賴項添加到您的 pom.xml 中,以便在編譯時可使用該庫。

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-html-cloud</artifactId>
    <version>25.11.1</version>
</dependency>

您可以從下載頁面下載最新的套件。

設定 Aspose.HTML 雲端憑證

建立一個 Configuration 物件,並設定您的 AppSidAppKey。這些值是從 Aspose Cloud 儀表板取得的。

Configuration config = new Configuration();
config.setAppKey("YOUR_APP_KEY");
config.setAppSid("YOUR_APP_SID");

載入 DOC 檔案並準備轉換請求

將來源 DOC 檔案讀取為位元組陣列,並建立 ConvertDocumentRequest,指定輸入格式和目標格式。

byte[] inputBytes = Files.readAllBytes(Paths.get("input.docx"));

ConvertDocumentRequest request = new ConvertDocumentRequest();
request.setInputFile(inputBytes);
request.setFileName("input.docx");      // source format hint
request.setOutputFormat("pdf");         // target format

定義 PDF 輸出選項

您可以選擇性地自訂 PDF 生成,例如嵌入字型並設定影像品質。

Map<String, Object> pdfOptions = new HashMap<>();
pdfOptions.put("embedFonts", true);
pdfOptions.put("imageQuality", 90);
request.setConversionOptions(pdfOptions);

執行轉換並儲存 PDF

初始化 API 客戶端,調用轉換,並將生成的 PDF 位元組寫入檔案。

try (ApiClient apiClient = new ApiClient(config)) {
    HtmlApi htmlApi = new HtmlApi(apiClient);
    ConvertDocumentResponse response = htmlApi.convertDocument(request);
    Files.write(Paths.get("output.pdf"), response.getDocument());
}

以下步驟示範了使用 Aspose.HTML Cloud 函式庫 在 Java 中將 DOC 轉換為 PDF 的完整工作流程。

完整程式碼範例:使用 Aspose.HTML 進行 Java DOC 轉 PDF

以下範例將所有部分組合成一個可執行的單一程式。

import com.aspose.html.cloud.ApiClient;
import com.aspose.html.cloud.Configuration;
import com.aspose.html.cloud.api.HtmlApi;
import com.aspose.html.cloud.model.requests.ConvertDocumentRequest;
import com.aspose.html.cloud.model.responses.ConvertDocumentResponse;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.Map;

public class DocToPdfConverter {
    public static void main(String[] args) throws Exception {
        // Configure Aspose.HTML Cloud credentials
        Configuration config = new Configuration();
        config.setAppKey("YOUR_APP_KEY");
        config.setAppSid("YOUR_APP_SID");

// Initialize API client (auto‑closeable)
        try (ApiClient apiClient = new ApiClient(config)) {
            HtmlApi htmlApi = new HtmlApi(apiClient);

// Input DOCX and output PDF file paths
            String inputPath = "input.docx";
            String outputPath = "output.pdf";

// Load DOCX file into memory
            byte[] inputBytes = Files.readAllBytes(Paths.get(inputPath));

// Build conversion request
            ConvertDocumentRequest request = new ConvertDocumentRequest();
            request.setInputFile(inputBytes);
            request.setFileName("input.docx");      // source format hint
            request.setOutputFormat("pdf");         // target format

// Optional conversion options for PDF output
            Map<String, Object> pdfOptions = new HashMap<>();
            pdfOptions.put("embedFonts", true);
            pdfOptions.put("imageQuality", 90);
            request.setConversionOptions(pdfOptions);

// Execute conversion
            ConvertDocumentResponse response = htmlApi.convertDocument(request);

// Write resulting PDF to disk
            Files.write(Paths.get(outputPath), response.getDocument());
        }
    }
}

注意: 此程式碼範例示範了核心功能。在將其用於您的專案之前,請確保更新檔案路徑(input.docxoutput.pdf)以符合實際檔案位置,驗證所有必要的相依項目已正確安裝,並在開發環境中徹底測試。如遇到任何問題,請參閱官方文件或聯繫支援團隊尋求協助。

使用 cURL 和 REST API 執行文件轉換

您可以透過直接呼叫 Aspose.HTML Cloud REST 端點,而無需編寫 Java 程式碼,即實現相同的 DOC 轉 PDF 轉換。

1. 驗證並取得存取令牌

curl -X POST "https://api.aspose.cloud/v4.0/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"

回應中包含一個在後續呼叫中使用的 access_token

2. 上傳來源 DOC 檔案

curl -X PUT "https://api.aspose.cloud/v4.0/html/storage/file/input.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary @input.docx

3. 執行轉換

curl -X POST "https://api.aspose.cloud/v4.0/html/convert?outputFormat=pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     -d @input.docx \
     -o output.pdf

4. 下載輸出 PDF(如果未直接保存)

curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.pdf

這些 cURL 命令讓您能將 DOC 轉 PDF 的轉換整合到腳本、CI 管道或任何能發出 HTTP 請求的環境中。欲了解更多細節,請參閱 API 參考

結論

實作 在 Java 中將 DOC 轉換為 PDF 相當簡單,只需使用 Aspose.HTML Cloud SDK for Java。此函式庫負責所有繁重的工作,從格式偵測到高品質的 PDF 產生,同時可選的 cURL 方法為自動化腳本提供彈性。請記得取得適當的授權以用於正式環境;產品頁面上提供價格細節,您亦可從臨時授權頁面取得評估用的臨時授權。透過上述步驟與程式碼,您現在即可將可靠的文件轉換功能整合至 Java 應用程式中。

常見問題

如何設定 Aspose.HTML Cloud SDK for Java?

在第一個實作步驟中加入顯示的 Maven 依賴項,然後使用 Configuration 類別設定您的 AppSidAppKey。詳細的設定說明請參閱產品文件

如果轉換失敗並出現錯誤,我該怎麼辦?

請確認輸入檔案路徑正確且您的憑證有效。API 會返回具描述性的錯誤訊息;您也可以查閱 支援論壇 以獲得故障排除提示。

我可以自訂 PDF 輸出,例如嵌入字型嗎?

是的。使用 conversionOptions 映射在调用 convertDocument 之前設定像 embedFontsimageQuality 之類的參數。請參閱 API 參考 以取得所有可用選項。

是否可以一次批次轉換多個 DOC 檔案?

雖然 SDK 每次請求只處理一個檔案,但您可以在 Java 中遍歷檔案集合,對每個檔案呼叫轉換邏輯,從而在不需要額外 API 更改的情況下實現批次處理。

Read More