在 PowerPoint 中以 OLE 方式嵌入 PDF,使用 GroupDocs.Merger for .NET
將 PDF 直接嵌入 PowerPoint 投影片,可讓您保持原始文件完整,同時讓觀眾即時存取。於本教學中,您將學習 如何在 PowerPoint 中嵌入 PDF 作為 OLE 物件,使用 GroupDocs.Merger for .NET,了解所需的 API 選項,並發掘可靠效能的技巧。
快速回答
- 哪個函式庫負責 OLE 嵌入? GroupDocs.Merger for .NET 提供
OlePresentationOptions類別以實現此功能。 - 我需要授權嗎? 試用授權可用於開發;正式授權則需於生產環境使用。
- 我可以嵌入多個 PDF 嗎? 可以——對每個目標投影片重複匯入步驟。
- 支援哪些 .NET 版本? .NET Framework 4.5+、.NET Core 3.1+、.NET 5/6/7。
- 此過程記憶體效率高嗎? API 以串流方式處理檔案,即使是上百頁的 PDF 也能在不將整個檔案載入記憶體的情況下嵌入。
何謂在 PowerPoint 中嵌入 PDF?
在 PowerPoint 中嵌入 PDF 指將 PDF 檔案作為 OLE(Object Linking and Embedding)物件插入,使投影片顯示圖示或預覽,雙擊時會在預設檢視器中開啟原始 PDF。此方式可保留來源文件的格式、超連結與安全設定。
為何使用 OLE 嵌入而非轉換 PDF?
嵌入可保持原始檔案大小與版面不變,避免轉換錯誤,且能在不重新匯出簡報的情況下更新來源 PDF。GroupDocs.Merger 支援 50+ 種輸入與輸出格式,且可嵌入高達數百 MB 的 PDF,同時以串流方式處理資料,使記憶體使用量低於 100 MB。
前置條件
- Visual Studio 2022(或任何相容 .NET 的 IDE)
- .NET Framework 4.5+ 或 .NET Core 3.1+ 執行環境
- 有效的 GroupDocs.Merger for .NET 授權(試用或商業)
- 一個 PowerPoint (.pptx) 檔案以及您想要嵌入的 PDF
設定 GroupDocs.Merger for .NET
如何安裝函式庫?
.NET CLI
dotnet add package GroupDocs.Merger
Package Manager
Install-Package GroupDocs.Merger
NuGet Package Manager UI – 搜尋 “GroupDocs.Merger” 並點擊 Install 取得最新版本。
如何取得授權?
- 免費試用 – 在 GroupDocs 官方網站註冊以取得臨時授權金鑰。
- 臨時授權 – 若需要超過 30 天,可申請延長試用。
- 正式購買 – 購買商業授權以無限制使用於生產環境。
如何初始化 API?
Merger 是提供文件操作(如匯入、合併與轉換)的主要類別。
在 C# 檔案頂部加入必要的 using 指令,並使用授權檔案路徑建立 Merger 實例:
using System;
using GroupDocs.Merger.Domain.Options;
using GroupDocs.Merger;
using System.IO;
實作指南
如何以 OLE 方式在 PowerPoint 中嵌入 PDF?
載入簡報、設定 OLE 選項,然後呼叫匯入方法——整個操作分為三個邏輯步驟完成。
步驟 1 – 定義檔案位置
指定來源 PDF、目標 PowerPoint 檔案以及修改後簡報要儲存的資料夾之絕對或相對路徑。
步驟 2 – 設定 OLE 選項OlePresentationOptions 是告訴 GroupDocs.Merger 要嵌入哪個檔案、於哪張投影片以及座標位置的類別。它亦可設定嵌入物件的寬度、高度與顯示模式。
步驟 3 – 匯入 PDFImportDocument 為 Merger API 的呼叫,使用提供的選項將 OLE 物件插入 PowerPoint 檔案。此方法以串流方式將 PDF 載入投影片,無需將整個文件載入記憶體。
定義說明
OlePresentationOptions為定義嵌入檔案、其位置 (X/Y)、大小與目標投影片編號的選項容器。ImportDocument為 Merger API 的呼叫,使用提供的選項將 OLE 物件插入 PowerPoint 檔案。
常見設定參數
- SlideNumber – 承載 OLE 物件之投影片的 1 起始索引。
- XCoordinate / YCoordinate – 從投影片左上角起算,以點 (points) 為單位的座標位置。
- Width / Height – OLE 佔位區的寬度與高度;設為 0 以使用預設尺寸。
- ObjectName – 可選的友好名稱,於 PowerPoint 中選取物件時顯示。
實務應用
將 PDF 以 OLE 物件嵌入於多種實務情境中表現卓越:
- 公司簡報 – 附上最新財務報告,且不會使簡報檔案過大。
- 學術講座 – 提供完整研究論文,配合投影片摘要。
- 專案狀態更新 – 嵌入即時專案計畫,讓利害關係人可開啟查看細節。
- 銷售簡報 – 包含產品規格表,讓業務人員可隨時開啟。
- 技術工作坊 – 呈現圖表或資料表,讓工程師即時檢視。
效能考量
為了讓嵌入過程快速且節省記憶體:
- 串流檔案 – GroupDocs.Merger 以串流方式讀寫,即使是 200 頁的 PDF 也只佔用不到 100 MB 記憶體。
- 批次處理 – 更新多個簡報時,重複使用同一個
Merger實例,並及時關閉串流。 - 調整大型 PDF – 若發現載入緩慢,可壓縮或降採樣來源 PDF 中的圖像。
常見問答
Q: 我可以在同一個簡報中嵌入多個 PDF 嗎?
A: 可以。對每個 PDF 呼叫 ImportDocument,並指定不同的 SlideNumber 或同一投影片上的不同位置。
Q: 我能嵌入多大的 PDF?
A: 實際上限受伺服器記憶體限制;以串流方式測試過最高可達 500 MB,未見問題。
Q: OLE 物件會保留超連結等互動元素嗎?
A: 當然會。嵌入的 PDF 會在預設檢視器開啟,保留所有內部連結與書籤。
Q: 若 PDF 受密碼保護該怎麼辦?
A: 在呼叫 ImportDocument 前,於 OlePresentationOptions 的 Password 屬性提供密碼。
Q: 嵌入的物件能在所有版本的 PowerPoint 上運作嗎?
A: OLE 格式自 PowerPoint 2007 起即受支援,亦包括 Office 365。
結論
您現在已掌握使用 GroupDocs.Merger for .NET 以 OLE 物件 在 PowerPoint 中嵌入 PDF 的完整、可投入生產的工作流程。透過串流檔案、設定 OlePresentationOptions,並呼叫 ImportDocument,即可在簡報中加入原始 PDF,同時保持低記憶體使用並保留所有互動功能。可進一步探索 Merger 的其他功能,如合併投影片、格式轉換與加浮水印,以自動化文件流程。
最後更新: 2026-09-21
測試環境: GroupDocs.Merger 23.12 for .NET
作者: GroupDocs
資源
- 文件說明: GroupDocs.Merger for .NET Documentation
- API 參考: GroupDocs.Merger API Reference
- 下載: GroupDocs.Merger Downloads
- 購買: Buy GroupDocs License
- 免費試用: GroupDocs Free Trial
- 臨時授權: Get a Temporary License
string filePath = Path.Combine("YOUR_DOCUMENT_DIRECTORY", "sample.pptx"); // Presentation file path
string embeddedFilePath = Path.Combine("YOUR_DOCUMENT_DIRECTORY", "sample.pdf"); // PDF to embed as OLE object
string outputDirectoryPath = "YOUR_OUTPUT_DIRECTORY"; // Output directory for modified presentation
string filePathOut = Path.Combine(outputDirectoryPath, "ModifiedPresentation.pptx"); // Output file path
int pageNumber = 2; // Slide number to add OLE object
OlePresentationOptions oleSlidesOptions = new OlePresentationOptions(embeddedFilePath, pageNumber)
{
X = 10, // X-coordinate for positioning the embedded object on the slide
Y = 10 // Y-coordinate for positioning the embedded object on the slide
};
using (Merger merger = new Merger(filePath)) // Initialize with presentation file path
{
merger.ImportDocument(oleSlidesOptions); // Embed PDF as OLE using specified options
merger.Save(filePathOut); // Save the modified presentation to output directory
}