Crear enlaces PDF en Java

Aspose.PDF for Java usa LinkAnnotation junto con un objeto de acción para definir el comportamiento del enlace.

Crear un enlace de acción de lanzamiento

Utilice este ejemplo cuando una anotación de enlace debe lanzar un archivo o destino externo.

  1. Abra el PDF de origen Document y seleccione la página de destino.
  2. Cree un LinkAnnotation y configure su borde y color.
  3. Asigne un LaunchAction y guarde el documento.
public static void createLinkAnnotationLaunchAction(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);

        LinkAnnotation link = new LinkAnnotation(page, new Rectangle(10, 580, 120, 600, true));
        Border border = new Border(link);
        border.setWidth(5);
        border.setDash(new Dash(1, 1));
        link.setBorder(border);
        link.setColor(Color.getGreen());
        link.setAction(new LaunchAction(document, inputFile.toString()));
        page.getAnnotations().add(link);
        document.save(outputFile.toString());
    }
}

Crear un enlace de salto remoto

Utilice este ejemplo cuando el enlace debe abrir una página en otro documento PDF.

  1. Abra el PDF de origen Document.
  2. Cree un LinkAnnotation en la página de destino.
  3. Asigne un GoToRemoteAction y guarde el archivo de salida.
public static void createLinkAnnotationGoToRemoteAction(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);

        LinkAnnotation link = new LinkAnnotation(page, new Rectangle(10, 580, 120, 600, true));
        link.setColor(Color.getGreen());
        link.setAction(new GoToRemoteAction(inputFile.toString(), 1));
        page.getAnnotations().add(link);
        document.save(outputFile.toString());
    }
}

Crear un enlace interno de salto

Utilice este ejemplo cuando el enlace deba navegar a otra página dentro del mismo documento PDF.

  1. Abra el PDF de origen Document.
  2. Cree un LinkAnnotation y configure su apariencia.
  3. Asigne un GoToAction a la página de destino y guarde el documento.
public static void createLinkAnnotationGoToAction(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);

        LinkAnnotation link = new LinkAnnotation(page, new Rectangle(10, 580, 120, 600, true));
        Border border = new Border(link);
        border.setWidth(5);
        border.setDash(new Dash(1, 1));
        link.setBorder(border);
        link.setColor(Color.getGreen());
        if (document.getPages().size() >= 4) {
            link.setAction(new GoToAction(document.getPages().get_Item(4)));
        } else {
            link.setAction(new GoToAction(document.getPages().get_Item(document.getPages().size())));
        }
        page.getAnnotations().add(link);
        document.save(outputFile.toString());
    }
}

Crear un enlace URI

Utilice este ejemplo cuando el enlace debe abrir un recurso web mediante una acción URI.

  1. Abra el PDF de origen Document.
  2. Cree un LinkAnnotation en la página.
  3. Asigne un GoToURIAction y guarde el archivo de salida.
public static void createLinkAnnotationGoToUriAction(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);

        LinkAnnotation link = new LinkAnnotation(page, new Rectangle(10, 580, 120, 600, true));
        link.setColor(Color.getGreen());
        link.setAction(new GoToURIAction("https://docs.aspose.com/pdf/python"));
        page.getAnnotations().add(link);
        document.save(outputFile.toString());
    }
}