Adicionar ou atualizar hiperlinks em PDF usando C# .NET

PDF é um formato de documento rico em recursos que suporta uma variedade de elementos, incluindo anotações, mídia, formulários etc. O hiperlink é um elemento importante usado para navegar no PDF, de um PDF para outro, para um página da web, etc. Ao gerar os documentos PDF programaticamente, muitas vezes você pode precisar inserir hiperlinks. Assim, neste artigo, você aprenderá como adicionar e atualizar hiperlinks em arquivos PDF em C# .NET.

Para manipular hiperlinks em arquivos PDF, usaremos Aspose.PDF for .NET. É uma API popular que permite criar, processar e converter arquivos PDF a partir de aplicativos .NET. Você pode baixar os binários da API ou instalá-la usando NuGet.

PM> Install-Package Aspose.PDF

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

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

// Abrir documento
Document document = new Document("input.pdf");
            
// Obter referência da página
var page = document.Pages[1];
            
// Criar objeto de anotação de link
LinkAnnotation link = new LinkAnnotation(page, new 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.Width = 0;
            
// Definir a borda para LinkAnnotation
link.Border = border;
            
// Especifique o tipo de link como URI remoto
link.Action = new GoToURIAction("www.aspose.com");
            
// Adicionar anotação de link à coleção de anotações da primeira página do arquivo PDF
page.Annotations.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 a um arquivo PDF externo em C#.

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

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

// Obter referência da página
var page = document.Pages[1];

// Criar hiperlink
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 100, 300, 300));
link.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);

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

// Adicionar hiperlink à página
page.Annotations.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é a 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 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
var page = document.Pages[1];

// Criar instância TextFragment
Aspose.Pdf.Text.TextFragment text = new Aspose.Pdf.Text.TextFragment("link page number test to page 7");
            
// Criar instância de hiperlink local
Aspose.Pdf.LocalHyperlink link = new Aspose.Pdf.LocalHyperlink();
            
// Definir página de destino para instância de link
link.TargetPageNumber = 7;
            
// Definir hiperlink TextFragment
text.Hyperlink = link;
            
// Adicionar texto à coleção de parágrafos da Página
page.Paragraphs.Add(text);

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

Você também pode recuperar um hiperlink em 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 C#.

// 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.Pages[1].Annotations[1];
            
// Altere a ação do link e defina o destino como endereço da web
linkAnnot.Action = new GoToURIAction("www.aspose.com");

// Altere outras propriedades conforme necessário

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

Obtenha uma licença gratuita

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

Conclusão

Neste artigo, você aprendeu como adicionar diferentes tipos de hiperlinks em arquivos PDF usando C#. 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 .NET PDF usando a documentação. Caso você tenha alguma dúvida ou pergunta, você pode entrar em contato conosco através do nosso fórum.

Veja também