В одном из предыдущих постов мы узнали, как программно вставлять объекты OLE в документы с помощью C#. Сегодня в этой статье мы будем встраивать PDF и другие различные документы в виде объектов OLE в документы Word, электронные таблицы Excel, слайды презентаций PowerPoint с использованием Java.

Эта статья расскажет вам о:

API Java для объектов OLE

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>

Вставьте PDF как объект OLE в документ MS Word с помощью Java

Вставить PDF в документ Word

Шаг и пример кода ниже документ PDF вставляется в документ Word как объект OLE в Java с использованием API GroupDocs.Merger.

  1. Создайте экземпляр объекта Merge с исходным путем или потоком текстового документа.
  2. Инициализируйте OleWordProcessingOptions с путем к документу PDF, который будет встроен в документ Word.
  3. Вызовите метод importDocument класса слияния.
  4. Сохраните полученный текстовый документ, вызвав метод save.
// Встраивание PDF в документ Word в качестве объекта OLE
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");

Вставьте документ Word как объект OLE в электронную таблицу Excel с помощью Java

Вставить файл Word в электронную таблицу Excel

Электронные таблицы также могут встраивать другие документы, такие как документы Word, электронные таблицы, презентации, изображения или звуковые клипы и т. д. Здесь я добавляю документ Word в электронную таблицу как объект OLE.

  1. Инициализируйте объект класса OleSpreadsheetOptions, указав путь к документу Word, который будет встроен в электронную таблицу.
  2. Установите параметры, такие как позиции строк и столбцов.
  3. Инициализируйте объект класса Merge с путем к документу электронной таблицы.
  4. Вызовите метод importDocument, указав уже установленный параметр электронной таблицы OLE.
  5. Сохраните полученную электронную таблицу со встроенным документом Word, вызвав метод save.
// Встроить документ Word в электронную таблицу Excel как объект OLE
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");

Вставьте лист Excel как объект OLE в презентацию с помощью Java

Вставить лист Excel в PowerPoint

Точно так же, если нам нужно добавить какие-либо внешние документы в наши презентации, их можно вставить в точное место с помощью нескольких строк кода Java, упомянутых ниже:

  1. Инициализируйте объект класса OlePresentationOptions и передайте путь к документу электронной таблицы.
  2. Установите параметры представления OLE, такие как координаты x и y, высоту и ширину для предстоящей встроенной электронной таблицы.
  3. Создайте объект класса Merge с путем к документу презентации в качестве параметра.
  4. Вставьте электронную таблицу в презентацию с помощью метода importDocument класса Merger.
  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");

Вывод

Мы узнали, как мы можем программно вставлять объекты OLE в документы Word, Excel и Powerpoint с помощью Java. Основное отличие при встраивании документов в различные виды исходных документов заключается только в использовании соответствующего класса параметров OLE. Вот и все.

Чтобы узнать больше об API слияния для Java, посетите документацию. В случае возникновения вопросов служба поддержки GroupDocs будет рада помочь вам на Форуме бесплатной поддержки.

Смотрите также