如何使用 GroupDocs.Merger for Java 在 Excel 中嵌入 PDF:逐步指南

在 Excel 中嵌入 PDF 可以將靜態試算表轉變為包含完整原始文件的豐富互動報告,讓文件正好出現在需要的地方。在本教學中,您將學習 如何在 Excel 中嵌入 PDF,方法是使用 GroupDocs.Merger for Java 將 PDF 匯入為 OLE(Object Linking and Embedding)物件。我們會逐一說明所有先決條件,展示完整程式碼,並提供實用技巧,讓您今天就能在自己的專案中使用此技術。

快速解答

  • 「在 Excel 中嵌入 PDF」是什麼意思? 這表示將 PDF 檔案插入為 OLE 物件,讓使用者可直接從試算表開啟 PDF。
  • 哪個函式庫負責匯入? GroupDocs.Merger for Java 提供 importDocument 方法來完成此操作。
  • 我需要授權嗎? 免費試用可用於評估;正式上線則需購買商業授權。
  • 我可以嵌入其他檔案類型嗎? 可以——Word、圖片以及其他支援的格式亦可匯入為 OLE 物件。
  • 此方法是否相容於 Java 8 以上? 完全相容——此函式庫支援 Java 8 及更新版本。

什麼是將 PDF 嵌入 Excel?

在 Excel 中嵌入 PDF 會將 PDF 以 OLE 物件的形式儲存在活頁簿內。使用者只要雙擊該物件,即可在不離開試算表的情況下開啟原始 PDF,這對於稽核追蹤、詳細報告或參考文件尤為適用。

為什麼要使用 GroupDocs.Merger 在 Excel 中嵌入 PDF?

  • 無縫整合: 不需要手動複製貼上;API 會自動處理位置與尺寸。
  • 自動化就緒: 非常適合批次處理月度報告或以程式方式產生儀表板。
  • 跨格式支援: 可處理 PDF、Word 文件、圖片等多種格式,全部透過同一個 library
  • 效能導向: 專為大型活頁簿與多個 OLE 物件的高效運作而設計。

如何在 Excel 中嵌入 PDF – 前置條件

  • Java Development Kit (JDK) 8 或以上 – 已在您的 IDE 中安裝並設定。
  • GroupDocs.Merger for Java – 透過 Maven 或 Gradle 加入至專案(見下文)。
  • IDE(如 IntelliJ IDEA 或 Eclipse)用於編輯與執行程式碼。
  • 基本的 Java 檔案處理知識 – 您將會操作檔案路徑與串流。

設定 GroupDocs.Merger for Java

Maven

在您的 pom.xml 檔案中加入以下相依性:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-merger</artifactId>
    <version>latest-version</version>
</dependency>

Gradle

在您的 build.gradle 檔案中加入此函式庫:

implementation 'com.groupdocs:groupdocs-merger:latest-version'

您也可以直接從 GroupDocs.Merger for Java releases 下載最新版本。

取得授權步驟

  1. 免費試用: 先使用免費試用版以探索全部功能。
  2. 臨時授權: 申請臨時授權以進行更長時間的測試。
  3. 購買授權: 取得完整授權以用於商業部署。

步驟實作

步驟 1:定義檔案路徑並初始化物件

首先,設定 Excel 活頁簿、欲嵌入的 PDF 以及輸出檔案的路徑。接著建立 OleSpreadsheetOptions,用以描述 OLE 物件的放置位置。

import com.groupdocs.merger.Merger;
import com.groupdocs.merger.domain.options.OleSpreadsheetOptions;

public class ImportOLEToSpreadsheet {
    public static void main(String[] args) throws Exception {
        // Define the paths for input and output files.
        String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.xlsx";  // Excel file path
        String embeddedFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";  // PDF file to embed

        // Specify the output file path.
        String filePathOut = "YOUR_OUTPUT_DIRECTORY/ImportDocumentToSpreadsheet-output.xlsx";

        // Specify the page number of the OLE object and its position in the spreadsheet.
        int pageNumber = 2;  
        OleSpreadsheetOptions oleCellsOptions = new OleSpreadsheetOptions(embeddedFilePath, pageNumber);
        
        // Set the desired row and column indices for the OLE object placement.
        oleCellsOptions.setRowIndex(2); 
        oleCellsOptions.setColumnIndex(2);

        // Create a Merger instance for the target Excel file.
        Merger merger = new Merger(filePath);
    }
}

步驟 2:匯入 OLE 文件

使用 importDocument 方法將 PDF 嵌入為 OLE 物件,放置於先前定義的位置。

// Import the OLE document into the specified position in the spreadsheet.
merger.importDocument(oleCellsOptions);

// Save the updated spreadsheet to the output path.
merger.save(filePathOut);

為什麼使用 importDocument 此方法告訴 GroupDocs.Merger 將 PDF 視為 OLE 物件,保留原始內容,同時讓其可在 Excel 內部存取。

步驟 3:儲存試算表

將變更寫入新檔案,以免影響原始活頁簿。

merger.save(filePathOut);

主要設定選項: 您可以進一步調整 OleSpreadsheetOptions——例如調整物件大小、可見性,或是設定為連結而非嵌入。

常見問題與除錯技巧

  • FileNotFoundException: 請再次確認您提供的路徑指向實際存在的檔案。
  • 版本不匹配: 確認您使用的 GroupDocs.Merger 版本與 JDK 版本相容。
  • PDF 損毀: 在嵌入前先確認 PDF 本身能正常開啟。
  • 記憶體壓力: 處理大量活頁簿時,請即時關閉每個 Merger 實例,或使用 try‑with‑resources 釋放資源。

實務應用

在 Excel 中嵌入 OLE 物件在多種情境下都很有用:

  1. 資料整合: 將季度 PDF 合併至單一儀表板活頁簿。
  2. 互動簡報: 提供可於會議中即時開啟的詳細規格說明書。
  3. 自動化報告: 產生每月財務報表,並自動附加相關文件。

效能考量

  • 記憶體管理: 關閉不再需要的 Merger 實例以釋放資源。
  • 批次處理: 處理數十份試算表時,分批執行以避免記憶體激增。
  • Java 最佳實踐: 使用 try‑with‑resources 處理串流,並優雅地捕捉例外。

結論

您現在已擁有使用 GroupDocs.Merger for Java 進行 在 Excel 中嵌入 PDF將文件匯入 Excel 的完整、可投入生產的解決方案。可嘗試不同檔案類型、調整放置選項,並將此工作流程整合至自動化報告管線中。

後續步驟

  • 嘗試嵌入 Word 文件或圖片,觀察 API 如何處理其他格式。
  • 探索 GroupDocs.Merger 的其他功能,如分割、合併或轉換文件。

常見問答

Q1:我可以在同一個 Excel 檔案中嵌入多個 OLE 物件嗎?
A1:可以,您只需對每個物件重複匯入程序即可。

Q2:支援哪些檔案格式作為 OLE 物件?
A2:GroupDocs.Merger 支援 PDF、Word 文件、Excel 檔案、圖片以及其他多種常見格式。

Q3:如何使用 GroupDocs.Merger 高效處理大型檔案?
A3:透過分批處理檔案並即時釋放 Merger 實例,以優化記憶體使用。

Q4:如果嵌入的檔案無法存取或已損毀怎麼辦?
A4:在嵌入前先確認來源檔案的路徑與完整性。損毀的檔案會在匯入時拋出例外。

Q5:我可以自訂 OLE 物件在 Excel 中的外觀嗎?
A5:可以,OleSpreadsheetOptions 允許您設定列/欄索引、大小與可見性,以調整物件在工作表中的呈現方式。

資源


最後更新: 2026-03-17
測試環境: GroupDocs.Merger for Java latest-version
作者: GroupDocs