Crear hipervínculo en una diapositiva en un PPT usando Java

Apache POI es una potente API que permite al usuario crear, manipular y mostrar varios formatos de archivo basados ​​en Microsoft Office mediante programas Java. Usando POI, uno debería poder realizar operaciones de creación, modificación y visualización/lectura en los siguientes formatos de archivo. Por ejemplo, Java no proporciona soporte integrado para trabajar con archivos de presentación, por lo que debemos buscar API de código abierto para el trabajo.

Es una biblioteca de código abierto desarrollada y distribuida por Apache Software Foundation para diseñar o modificar archivos de Microsoft Office utilizando el programa Java. Contiene clases y métodos para decodificar los datos de entrada del usuario o un archivo en documentos de MS Office.

Arquitectura de puntos de interés de Apache

Apache POI consta de varios componentes que forman una arquitectura para formar un sistema de trabajo:

POIFS (Sistema de archivo de implementación de ofuscación deficiente): este componente es el factor básico de todos los demás elementos de POI. Se utiliza para leer diferentes archivos de forma explícita.

  • HSSF (formato de hoja de cálculo horrible): se utiliza para leer y escribir en formato xls de archivos MS-Excel.
  • XSSF (formato de hoja de cálculo XML): se utiliza para el formato de archivo xlsx de MS-Excel.
  • HPSF (Horrible Property Set Format): se utiliza para extraer conjuntos de propiedades de los archivos de MS-Office.
  • HWPF (Horrible Word Processor Format): se utiliza para leer y escribir archivos de extensión doc de MS-Word.
  • XWPF (formato de procesador de textos XML): se utiliza para leer y escribir archivos de extensión Docx de MS-Word.
  • HSLF (Horrible Slide Layout Format): se utiliza para leer, crear y editar presentaciones de PowerPoint.
  • HDGF (Horrible DiaGram Format): contiene clases y métodos para archivos binarios de MS-Visio.
  • HPBF (Horrible PuBlisher Format): se utiliza para leer y escribir archivos de MS-Publisher.

Dependencias:

poi.ooxml

Implementación:

Java

// Creating Hyperlink on a slide in a PPT using Java
  
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
  
import org.apache.poi.xslf.usermodel.SlideLayout;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFHyperlink;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFSlideLayout;
import org.apache.poi.xslf.usermodel.XSLFSlideMaster;
import org.apache.poi.xslf.usermodel.XSLFTextRun;
import org.apache.poi.xslf.usermodel.XSLFTextShape;
  
// Driver code
public class HyperlinkToPPT {
    public static void main(String args[])
        throws IOException
    {
  
        // create an empty presentation
        XMLSlideShow ppt = new XMLSlideShow();
  
        // getting the slide master object
        XSLFSlideMaster slideMaster
            = ppt.getSlideMasters()[0];
  
        // select a layout from specified list
        XSLFSlideLayout slidelayout = slideMaster.getLayout(
            SlideLayout.TITLE_AND_CONTENT);
  
        // creating a slide with title and content layout
        XSLFSlide slide = ppt.createSlide(slidelayout);
  
        // selection of title place holder
        XSLFTextShape body = slide.getPlaceholder(1);
  
        // clear the existing text in the slide
        body.clearText();
  
        // adding new paragraph
        XSLFTextRun textRun
            = body.addNewTextParagraph().addNewTextRun();
  
        // setting the text
        textRun.setText("GeeksforGeeks");
  
        // creating the hyperlink
        XSLFHyperlink link = textRun.createHyperlink();
  
        // setting the link address
        link.setAddress("https://www.geeksforgeeks.org/");
  
        // create the file object
        File file = new File("C:/poippt/hyperlink.pptx");
        FileOutputStream out = new FileOutputStream(file);
  
        // save the changes in a file
        ppt.write(out);
        System.out.println("sucsess!");
        out.close();
    }
}

Producción:

Publicación traducida automáticamente

Artículo escrito por mayanktyagi1709 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *