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.
- API Java para adicionar hiperlinks em PDF
- Adicionar hiperlink em um PDF
- Adicionar hiperlink para um PDF externo
- Inserir hiperlink para uma página específica
- Atualizar um hiperlink em um PDF
API Java para adicionar hiperlinks em PDF - Download grátis
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>
Adicionar hiperlink em um PDF em Java
A seguir estão as etapas para adicionar um hiperlink a um arquivo PDF em Java.
- Crie um novo PDF ou carregue um existente usando a classe Document.
- Obtenha a referência da página onde você deseja adicionar o hiperlink da coleção Document.getPages().
- Crie um objeto da classe LinkAnnotation e defina suas propriedades.
- Use o método LinkAnnotation.setAction() para atribuir o objeto GoToURIAction contendo URL.
- Adicione um hiperlink à página usando o método Page.getAnnotations().add().
- Salve o PDF usando o método Document.save(String).
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");
Java Adicionar hiperlink para um PDF externo
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.
- Crie um novo PDF ou carregue um existente usando a classe Document.
- Obtenha a referência da página onde você deseja adicionar o hiperlink da coleção Document.getPages().
- Crie um objeto da classe LinkAnnotation e defina suas propriedades.
- Use o método LinkAnnotation.setAction() para definir a ação para o objeto GoToRemoteAction que contém o caminho para o PDF externo.
- Adicione um hiperlink à página usando o método Page.getAnnotations().add().
- Salve o PDF usando o método Document.save(String).
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");
Java Inserir hiperlink para uma página PDF específica
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.
- Crie um novo PDF ou carregue um existente usando a classe Document.
- Obtenha a referência da página onde você deseja adicionar o hiperlink da coleção Document.getPages().
- Crie uma instância da classe TextFragment para definir o texto do hiperlink.
- Crie uma instância da classe LocalHyperlink e use o método LocalHyperlink.setTargetPageNumber() para definir o número da página de destino.
- Atribua o objeto LocalHyperlink usando o método TextFragment.setHyperlink().
- Adicione texto à página usando o método Page.getParagraphs().add(TextFragment).
- Salve o PDF usando o método Document.save(String).
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");
Atualizar um hiperlink em PDF usando Java
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.
- Crie um novo PDF ou carregue um existente usando a classe Document.
- Obtenha a referência da página onde o hiperlink está localizado da coleção Document.getPages().
- Extraia o objeto LinkAnnotation desejado por índice usando o método Page.getAnnotations().getitem().
- Atualize as propriedades necessárias do hiperlink e salve o PDF usando o método Document.save(String).
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.