在較早的一篇文章中,我們學習瞭如何以編程方式使用 C# 在文檔中插入 OLE 對象。今天,在本文中,我們將使用 Java 將 PDF 和其他不同的文檔作為 OLE 對象嵌入到 Word 文檔、Excel 電子表格、PowerPoint 演示幻燈片中。

本文將指導您了解:

OLE 對象的 Java API

GroupDocs.Merger for Java

本文中的步驟和示例使用 GroupDocs.Merger for Java 通過 OLE(對象鏈接和嵌入)將文檔插入其他文檔。該 API 還允許我們使用最少的 Java 代碼行高效地組合和拆分多個文檔。在繼續之前,如果您以任何相關方式準備環境會更好:

  1. 下載 部分下載 API。
  2. 對於基於 Maven 的項目,以下是 pom.xml 的配置
<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-merger</artifactId>
        <version>20.7</version> 
</dependency>

使用 Java 將 PDF 作為 OLE 對象插入到 MS Word 文檔中

在 Word 文檔中插入 PDF

下面的步驟和代碼示例使用 GroupDocs.Merger API 將 PDF 文檔作為 Java 中的 OLE 對象插入到 Word 文檔中。

  1. 使用源字處理文檔路徑或流實例化 Merger 對象。
  2. 使用將嵌入 Word 文檔的 PDF 文檔的路徑初始化 OleWordProcessingOptions
  3. 調用合併類的 importDocument 方法。
  4. 通過調用 save 方法保存生成的 word 文檔。
// 將 PDF 作為 OLE 對象嵌入到 Word 文檔中
int pageNumber = 1;
OleWordProcessingOptions oleWordsOptions = new OleWordProcessingOptions("PDF-document.pdf", pageNumber);
oleWordsOptions.setWidth(200); // Setting the width and height of embedded document
oleWordsOptions.setHeight(200);
// 將 PDF 導入 Word 文檔
Merger merger = new Merger("document.docx"); // Source Word document
merger.importDocument(oleWordsOptions);
merger.save("output-document.docx");

使用 Java 將 Word 文檔作為 OLE 對象插入到 Excel 電子表格中

在 Excel 電子表格中插入 Word 文件

電子表格還可以嵌入其他文檔,如 Word 文檔、電子表格、演示文稿、圖像或聲音剪輯等。在這裡,我將 Word 文檔作為 OLE 對象添加到電子表格中。

  1. 通過提供將嵌入到電子表格中的 Word 文檔的路徑來初始化 OleSpreadsheetOptions 類對象。
  2. 設置行和列位置等選項。
  3. 使用電子表格文檔的路徑初始化 Merger 類對象。
  4. 通過提供已設置的 OLE 電子表格選項來調用 importDocument 方法。
  5. 通過調用 save 方法保存生成的包含嵌入 Word 文檔的電子表格。
// 將 Word 文檔作為 OLE 對象嵌入到 Excel 電子表格中
int pageNumber = 1;
OleSpreadsheetOptions oleCellsOptions = new OleSpreadsheetOptions("document.docx", pageNumber);
oleCellsOptions.setRowIndex(2); // Set row & column number of Spreasheet to embedded document
oleCellsOptions.setColumnIndex(1);
// 將 Word 文檔導入電子表格
Merger merger = new Merger("spreadsheet.xlsx"); // Source Spreadsheet
merger.importDocument(oleCellsOptions);
merger.save("output-spreadsheet.xlsx");

使用 Java 將 Excel 工作表作為 OLE 對象插入到演示文稿中

在 PowerPoint 中插入 Excel 工作表

同樣,如果我們需要將任何外部文檔添加到我們的演示文稿中,可以使用下面提到的幾行 Java 代碼將這些文檔插入到精確位置:

  1. 初始化OlePresentationOptions類對象,傳遞電子表格文檔的路徑。
  2. 為即將到來的嵌入式電子表格設置 OLE 表示選項,例如 x 和 y 坐標、高度和寬度。
  3. 使用演示文檔路徑作為參數實例化 Merger 類對象。
  4. 使用 Merger 類的 importDocument 方法將電子表格嵌入到演示文稿中。
  5. 調用 save 方法獲取生成的演示文稿文件。
// 將電子表格作為 OLE 對象嵌入到演示文稿中
int pageNumber = 1;
OlePresentationOptions oleSlidesOptions = new OlePresentationOptions("spreadsheet.xlsx", pageNumber);
// 設置坐標和尺寸
oleSlidesOptions.setX(10);
oleSlidesOptions.setY(10);
oleSlidesOptions.setHeight(200);
oleSlidesOptions.setWidth(200);
// 將電子表格導入演示文稿
Merger merger = new Merger("presentation.pptx");
merger.importDocument(oleSlidesOptions);
merger.save("output-presentation.pptx");

結論

我們已經了解瞭如何使用 Java 以編程方式在 Word、Excel 和 Powerpoint 文檔中插入 OLE 對象。將文檔嵌入各種源文檔的主要區別在於各自 OLE 選項類的使用。而已。

要了解有關 Java 合併 API 的更多信息,請訪問 文檔。如有任何疑問,GroupDocs 支持團隊將非常樂意在 免費支持論壇 上為您提供幫助。

也可以看看