如何在 Excel 中嵌入 PDF,使用 GroupDocs.Merger for .NET
簡介
在 Excel 中嵌入 PDF 可讓您將支援文件(例如合約、報告或規格說明)直接保留在資料所在的位置。使用 GroupDocs.Merger for .NET,您只需幾行程式碼即可將 OLE 物件新增至儲存格,將普通的試算表轉變為互動且自包含的活頁簿。本教學將帶您了解從安裝到除錯的所有必要資訊。
您將學習
- 如何在 C# 專案中設定 GroupDocs.Merger for .NET
- 將 PDF(或任何 OLE 相容檔案)嵌入 Excel 儲存格的具體步驟
- 設定選項、效能技巧與常見陷阱
在開始之前,先確認您已備妥所有必要項目。
快速問答
- 我可以嵌入任何檔案類型嗎? 是的——任何支援作為 OLE 物件的格式(PDF、Word、影像等)。
- 開發時需要授權嗎? 免費試用可用於測試;正式上線需購買永久授權。
- 支援哪些 .NET 版本? .NET Framework 4.5+、.NET Core 3.1+、.NET 5/6/7+。
- Excel 檔案大小會大幅增加嗎? 只會因嵌入文件的大小而增加;為獲得最佳效能,請將檔案保持在數 MB 以內。
- OLE 物件的數量有限制嗎? 實際上沒有,但非常大的活頁簿可能會影響載入時間。
什麼是 Excel 中的 PDF 嵌入?
在 Excel 中嵌入 PDF 會將整個 PDF 作為 OLE 物件插入,使用者可直接點擊圖示在試算表內開啟原始文件,而不必離開 Excel。此方式保留原始版面配置,便於快速參考,且免除管理分離檔案的需求。嵌入的 PDF 行為與其他 OLE 物件相同,使用者雙擊圖示即可在 Excel 環境中啟動 PDF 檢視器。
為什麼在 Excel 中嵌入 OLE 物件?
GroupDocs.Merger 支援 120+ 輸入與輸出格式,且可在不將整個檔案載入記憶體的情況下嵌入物件,實現多百頁 PDF 的快速處理。這減少了獨立檔案庫的需求,讓相關資料保持在同一活頁簿內,同時簡化版本控制,確保所有相關文件隨活頁簿一起流通,提升團隊協作效率。
先決條件
- GroupDocs.Merger for .NET(最新 NuGet 套件)
- .NET Framework 4.5+ or .NET Core/5+/6+
- Visual Studio 2022 或更新版本
- 基本的 C# 知識與檔案 I/O 的熟悉度
設定 GroupDocs.Merger for .NET
安裝
使用以下任一方法加入套件:
.NET CLI
dotnet add package GroupDocs.Merger
Package Manager
Install-Package GroupDocs.Merger
NuGet Package Manager UI
搜尋 “GroupDocs.Merger” 並安裝最新版本。
取得授權
- 免費試用 – 無需付費測試此函式庫。
- 臨時授權 – 在臨時授權頁面申請臨時授權。
- 購買 – 可於GroupDocs 購買頁面購買授權。
基本初始化
Merger 是所有操作的入口點。
using (Merger merger = new Merger("path_to_your_spreadsheet.xlsx"))
{
// Your code to work with the document
}
如何在 Excel 中嵌入 OLE 物件?
載入來源活頁簿、設定 OLE 選項,然後讓 Merger 插入物件。以下章節提供簡潔、可直接執行的工作流程。
功能概述
嵌入 OLE 物件可讓您將完整的 PDF 儲存在儲存格內,保留原始版面並提供一鍵存取的功能。
逐步實作
1. 設定路徑與頁碼
指定試算表、要嵌入的檔案以及目標儲存格位址。
string filePath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_XLSX";
string embeddedFilePath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_PDF";
int pageNumber = 2; // The specific page to embed
// Output path for the modified spreadsheet
string filePathOut = Path.Combine("YOUR_OUTPUT_DIRECTORY", "OUT_SAMPLE_NAME.xlsx");
2. 設定 OleSpreadsheetOptions
OleSpreadsheetOptions 定義 OLE 物件在工作表中的放置位置以及圖示顯示方式。
// Specify row and column indices for embedding
OleSpreadsheetOptions oleCellsOptions = new OleSpreadsheetOptions(embeddedFilePath, pageNumber)
{
RowIndex = 2,
ColumnIndex = 2
};
3. 初始化 Merger 並執行嵌入
Merger 類別負責實際插入。呼叫完成後,活頁簿將包含 OLE 圖示。
using (Merger merger = new Merger(filePath))
{
merger.ImportDocument(oleCellsOptions); // Import the specified document as an OLE object into the spreadsheet
merger.Save(filePathOut); // Save the modified document
}
常見除錯技巧
- 確認所有檔案路徑為絕對路徑,或相對於執行檔正確解析。
- 確保指定的頁碼在來源 PDF 中存在;否則會拋出例外。
- 若嵌入的物件未顯示,請確認目標 Excel 版本支援 OLE(大多數現代版本皆支援)。
實務應用
在 Excel 中嵌入 PDF 可用於:
- 財務報告 – 將審計報表直接附於摘要表格旁。
- 專案文件 – 在主追蹤表中保留設計規格、風險分析或合約。
- 培訓儀表板 – 嵌入使用手冊或政策 PDF,供員工快速參考。
效能考量
- 檔案大小 – 將嵌入的 PDF 保持在 5 MB 以下,以免活頁簿過大。
- 記憶體使用 –
GroupDocs.Merger以串流方式處理資料,即使來源檔案很大,記憶體消耗亦保持低。 - 釋放物件 – 必須對
Merger實例呼叫Dispose(),以即時釋放檔案句柄。
常見問題
問:什麼是 OLE 物件?
答:OLE(Object Linking and Embedding)物件將另一個檔案(PDF、Word、影像等)儲存在宿主文件內,允許在原位編輯或開啟。
問:我可以在其他 Office 格式中嵌入 OLE 物件嗎?
答:可以——GroupDocs.Merger 亦支援 Word、PowerPoint 與 Visio 檔案。
問:如何處理受密碼保護的 PDF?
答:在建立 OleSpreadsheetOptions 實例時提供密碼,函式庫會自動解密檔案。
問:嵌入的 PDF 有大小限制嗎?
答:技術上沒有硬性限制,但超過 10 MB 的檔案可能明顯增加活頁簿載入時間。
問:在哪裡可以找到更多範例?
答:請參閱官方 GroupDocs 文件,取得更多程式碼範例與 API 參考。
其他資源
- Documentation: GroupDocs.Merger .NET Docs
- API reference: GroupDocs API Reference
- Downloads: GroupDocs Releases
- License purchase: Buy GroupDocs License
- Free trial: Try GroupDocs Free Trial
- Temporary license: Request Temporary License
- Support forum: GroupDocs Support Forum
Last Updated: 2026-09-21
Tested with: GroupDocs.Merger 23.12 for .NET
Author: GroupDocs