Criar links PDF em Java

Aspose.PDF for Java usa LinkAnnotation juntos com um objeto de ação para definir o comportamento do link.

Use este exemplo quando uma anotação de link deve lançar um arquivo ou destino externo.

  1. Abra o PDF de origem em um objeto Document e selecione a página de destino.
  2. Crie um LinkAnnotation e configure sua borda e cor.
  3. Atribua um LaunchAction e salve o 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());
    }
}

Use este exemplo quando o link deve abrir uma página em outro documento PDF.

  1. Abra o PDF de origem em um objeto Document.
  2. Crie um LinkAnnotation na página de destino.
  3. Atribua um GoToRemoteAction e salve o arquivo de saída.
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());
    }
}

Use este exemplo quando o link deve navegar para outra página dentro do mesmo documento PDF.

  1. Abra o PDF de origem em um objeto Document.
  2. Crie um LinkAnnotation e configure sua aparência.
  3. Atribua um GoToAction para a página de destino e salvar o 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());
    }
}

Use este exemplo quando o link deve abrir um recurso da web através de uma ação URI.

  1. Abra o PDF de origem em um objeto Document.
  2. Crie um LinkAnnotation na página.
  3. Atribua um GoToURIAction e salve o arquivo de saída.
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());
    }
}