En una de las publicaciones anteriores, aprendimos cómo programar insertar los objetos OLE en documentos con C#. Hoy, en este artículo, incrustaremos PDF y otros documentos diferentes como objetos OLE en documentos de Word, hojas de cálculo de Excel, diapositivas de presentaciones de PowerPoint usando Java.

Este artículo lo guiará sobre:

API de Java para objetos OLE

GroupDocs.Merger for Java

Los pasos y los ejemplos de este artículo utilizan GroupDocs.Merger for Java para insertar documentos en otros documentos a través de OLE (Object Linking and Embedding). Esta API también nos permite combinar y dividir de manera eficiente varios documentos con un mínimo de líneas de código Java. Antes de continuar, será mejor si prepara el entorno de cualquiera de sus formas relevantes:

  1. Descarga la API desde la sección descargas.
  2. Para los proyectos basados en Maven, la siguiente es la configuración para su 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>

Inserte PDF como objeto OLE en un documento de MS Word usando Java

Insertar PDF en documento de Word

Paso y ejemplo de código a continuación inserta el documento PDF en un documento de Word como un objeto OLE en Java usando la API GroupDocs.Merger.

  1. Cree una instancia del objeto Merger con la ruta o flujo de origen del documento de procesamiento de textos_.
  2. Inicialice OleWordProcessingOptions con la ruta del documento PDF que se incrustará en el documento de Word.
  3. Llame al método importDocument de la clase de fusión.
  4. Guarde el documento de Word resultante llamando al método save.
// Incrustar PDF en un documento de Word como un objeto 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);
// Importar el PDF a un documento de Word
Merger merger = new Merger("document.docx"); // Source Word document
merger.importDocument(oleWordsOptions);
merger.save("output-document.docx");

Inserte un documento de Word como un objeto OLE en una hoja de cálculo de Excel usando Java

Insertar archivo de Word en hoja de cálculo de Excel

Las hojas de cálculo también pueden incrustar otros documentos, como documentos de Word, hojas de cálculo, presentaciones, imágenes o clips de sonido, etc. Aquí estoy agregando un documento de Word en una hoja de cálculo como un objeto OLE.

  1. Inicialice el objeto de clase OleSpreadsheetOptions proporcionando la ruta del documento de Word que se incrustará en la hoja de cálculo.
  2. Establezca las opciones como las posiciones de fila y columna.
  3. Inicialice el objeto de clase Merger con la ruta del documento de hoja de cálculo.
  4. Llame al método importDocument proporcionando la opción de hoja de cálculo OLE ya configurada.
  5. Guarde la hoja de cálculo resultante que tiene el documento de Word incrustado llamando al método guardar.
// Incruste un documento de Word en una hoja de cálculo de Excel como un objeto 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);
// Importar el documento de Word a la hoja de cálculo
Merger merger = new Merger("spreadsheet.xlsx"); // Source Spreadsheet
merger.importDocument(oleCellsOptions);
merger.save("output-spreadsheet.xlsx");

Inserte la hoja de Excel como objeto OLE en la presentación usando Java

Insertar hoja de Excel en PowerPoint

De manera similar, si necesitamos agregar cualquier documento externo a nuestras presentaciones, estos pueden insertarse en la ubicación precisa con las pocas líneas de código Java que se mencionan a continuación:

  1. Inicialice el objeto de clase OlePresentationOptions y pase la ruta del documento de hoja de cálculo.
  2. Establezca las opciones de presentación OLE como las coordenadas x e y, la altura y el ancho para la próxima hoja de cálculo incrustada.
  3. Cree una instancia del objeto de clase Merger con la ruta del documento de presentación como parámetro.
  4. Incruste la hoja de cálculo en la presentación usando el método importDocument de la clase Merger.
  5. Llame al método guardar para obtener el archivo de presentación resultante.
// Incrustar una hoja de cálculo en una presentación como un objeto OLE
int pageNumber = 1;
OlePresentationOptions oleSlidesOptions = new OlePresentationOptions("spreadsheet.xlsx", pageNumber);
// Establecer coordenadas y dimensiones
oleSlidesOptions.setX(10);
oleSlidesOptions.setY(10);
oleSlidesOptions.setHeight(200);
oleSlidesOptions.setWidth(200);
// Importar la hoja de cálculo a la presentación
Merger merger = new Merger("presentation.pptx");
merger.importDocument(oleSlidesOptions);
merger.save("output-presentation.pptx");

Conclusión

Hemos aprendido cómo podemos insertar mediante programación objetos OLE en documentos de Word, Excel y Powerpoint usando Java. La principal diferencia al incrustar los documentos en varios tipos de documentos de origen es solo el uso de la clase de opciones OLE respectiva. Eso es todo.

Para obtener más información sobre Merger API para Java, visite documentación. En caso de cualquier consulta, el equipo de soporte de GroupDocs estará encantado de atenderle en el Foro de soporte gratuito.

Ver también