Adicionar ou atualizar hiperlinks em PDF usando Java

PDF é um formato de documento popular que oferece suporte multiplataforma com uma variedade de recursos para criar documentos ricos. Além disso, ele suporta uma variedade de elementos como mídia, formulários, anotações, artefatos, etc. Dentre esses elementos, os hiperlinks são usados com bastante frequência para navegar dentro do PDF, de um PDF para outro, para abrir uma URL, etc. neste artigo, você aprenderá como adicionar e atualizar hiperlinks em arquivos PDF programaticamente em Java.

Aspose.PDF for Java é uma API incrível para geração e manipulação de PDF. Usando a API, você pode criar, processar e converter facilmente arquivos PDF de layouts simples e complexos. Usaremos esta API para adicionar e atualizar hiperlinks em arquivos PDF. Você pode baixar o JAR da API ou instalá-lo usando as seguintes configurações do Maven.

Repositório:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Dependência:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.4</version>
</dependency>

A seguir estão as etapas para adicionar um hiperlink a um arquivo PDF em Java.

O exemplo de código a seguir mostra como adicionar um hiperlink em PDF em Java.

// Abrir documento
Document document = new Document("input.pdf");

// Obter referência da página
Page page = document.getPages().get_Item(1);

// Criar objeto de anotação de link
LinkAnnotation link = new LinkAnnotation(page, new com.aspose.pdf.Rectangle(100, 100, 300, 300));

// Criar objeto de borda para LinkAnnotation
Border border = new Border(link);

// Defina o valor da largura da borda como 0
border.setWidth ( 0);

// Definir a borda para LinkAnnotation
link.setBorder(border);

// Especifique o tipo de link como URI remoto
link.setAction( new GoToURIAction("www.aspose.com"));

// Adicionar anotação de link à coleção de anotações da primeira página do arquivo PDF
page.getAnnotations().add(link);

// Salvar documento atualizado
document.save("output.pdf");

Você também pode navegar para um arquivo PDF externo a partir de um PDF usando um hiperlink. As etapas a seguir demonstram como adicionar um hiperlink para um arquivo PDF externo em Java.

O exemplo de código a seguir mostra como adicionar um hiperlink para um PDF externo em Java.

// Abrir documento
Document document = new Document("input.pdf");

// Obter referência da página
Page page = document.getPages().get_Item(1);

// Criar hiperlink
LinkAnnotation link = new LinkAnnotation(page, new com.aspose.pdf.Rectangle(100, 100, 300, 300));
link.setColor(Color.getGreen());

// Definir ação
link.setAction( new GoToRemoteAction("external.pdf", 1));

// Adicionar anotação de link à coleção de anotações da primeira página do arquivo PDF
page.getAnnotations().add(link);

// Salvar documento atualizado
document.save("output.pdf");

Em certos casos, você precisa navegar de uma página para outra em um documento PDF. A classe LocalHyperlink é usada para navegar até uma página específica em um PDF. A seguir estão os passos para conseguir isso.

O exemplo de código a seguir mostra como adicionar um hiperlink para navegar até uma página específica no PDF.

// Abrir documento
Document document = new Document("input.pdf");

// Obter referência da página
Page page = document.getPages().get_Item(1);

// Criar instância TextFragment
TextFragment text = new TextFragment("link page number test to page 7");

// Criar instância de hiperlink local
LocalHyperlink link = new LocalHyperlink();

// Definir página de destino para instância de link
link.setTargetPageNumber( 7);

// Definir hiperlink TextFragment
text.setHyperlink(link);

// Adicionar texto à coleção de parágrafos da Página
page.getParagraphs().add(text);

// Salvar documento atualizado
document.save("output.pdf");

Você também pode recuperar um hiperlink de um arquivo PDF e atualizar suas propriedades. A seguir estão as etapas para realizar esta operação.

O exemplo de código a seguir mostra como atualizar um hiperlink em PDF usando Java.

// Abrir documento
Document document = new Document("input.pdf");

// Obter a primeira anotação de link da primeira página do documento
LinkAnnotation linkAnnot = (LinkAnnotation)document.getPages().get_Item(1).getAnnotations().get_Item(1);

// Altere a ação do link e defina o destino como endereço da web
linkAnnot.setAction(new GoToURIAction("www.aspose.com"));

// Altere outras propriedades conforme necessário

// Salvar documento atualizado
document.save("output.pdf");

API Java para adicionar hiperlinks em PDF - Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para usar o Aspose.PDF para Java sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como adicionar diferentes tipos de hiperlinks em arquivos PDF usando Java. Além disso, você viu como recuperar os hiperlinks de arquivos PDF existentes e atualizar suas propriedades programaticamente. Além disso, você pode explorar mais sobre a API Java PDF usando a documentação. Caso você tenha alguma dúvida ou pergunta, entre em contato conosco através do nosso fórum.

Veja também