PDF es un formato de documento rico en funciones que admite una variedad de elementos que incluyen anotaciones, medios, formularios, etc. El hipervínculo es un elemento importante que se usa para navegar dentro del PDF, de un PDF a otro, a un página web, etc. Al generar los documentos PDF mediante programación, es posible que a menudo necesite insertar hipervínculos. En consecuencia, en este artículo, aprenderá cómo agregar y actualizar hipervínculos en archivos PDF en C# .NET.
- .NET API para agregar hipervínculos en PDF
- Agregar hipervínculo en un PDF
- Agregar hipervínculo a un PDF externo
- Insertar hipervínculo a una página en particular
- Actualizar un hipervínculo en PDF
C# .NET API para agregar o actualizar hipervínculos en PDF
Para manipular hipervínculos en archivos PDF, usaremos Aspose.PDF for .NET. Es una API popular que le permite crear, procesar y convertir archivos PDF desde aplicaciones .NET. Puede descargar los archivos binarios de la API o instalarlos mediante NuGet.
PM> Install-Package Aspose.PDF
Agregar hipervínculo en un PDF en C#
Los siguientes son los pasos para agregar un hipervínculo a un archivo PDF en C#.
- Cree un nuevo PDF o cargue uno existente usando la clase Document.
- Obtenga la referencia de la página donde desea agregar un hipervínculo de la colección Document.Pages.
- Cree un objeto de la clase LinkAnnotation y establezca sus propiedades.
- Inicialice la propiedad LinkAnnotation.Action en el objeto GoToURIAction que contiene la URL.
- Agregar enlace a la colección Page.Annotations.
- Guarde el PDF usando el método Document.Save(String).
El siguiente ejemplo de código muestra cómo agregar un hipervínculo en PDF en C#.
// Abrir documento
Document document = new Document("input.pdf");
// Obtener referencia de la página
var page = document.Pages[1];
// Crear objeto de anotación de enlace
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 100, 300, 300));
// Crear objeto de borde para LinkAnnotation
Border border = new Border(link);
// Establezca el valor del ancho del borde en 0
border.Width = 0;
// Establecer el borde para LinkAnnotation
link.Border = border;
// Especifique el tipo de enlace como URI remoto
link.Action = new GoToURIAction("www.aspose.com");
// Agregar anotación de enlace a la colección de anotaciones de la primera página del archivo PDF
page.Annotations.Add(link);
// Guardar documento actualizado
document.Save("output.pdf");
Agregar hipervínculo a un PDF externo en C#
También puede navegar a un archivo PDF externo desde un PDF usando un hipervínculo. Los siguientes pasos demuestran cómo agregar un hipervínculo a un archivo PDF externo en C#.
- Cree un nuevo PDF o cargue uno existente usando la clase Document.
- Obtenga la referencia de la página donde desea agregar un hipervínculo de la colección Document.Pages.
- Cree un objeto de la clase LinkAnnotation y establezca sus propiedades.
- Inicialice la propiedad LinkAnnotation.Action en el objeto GoToRemoteAction que contiene la ruta al PDF externo.
- Agregar enlace a la colección Page.Annotations.
- Guarde el documento usando el método Document.Save(String).
El siguiente ejemplo de código muestra cómo agregar un hipervínculo a un PDF externo en C#.
// Abrir documento
Document document = new Document("input.pdf");
// Obtener referencia de la página
var page = document.Pages[1];
// Crear hipervínculo
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 100, 300, 300));
link.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
// Establecer acción
link.Action = new GoToRemoteAction("external.pdf", 1);
// Agregar hipervínculo a la página
page.Annotations.Add(link);
// Guardar documento actualizado
document.Save("output.pdf");
Insertar hipervínculo a una página PDF particular
En ciertos casos, debe navegar de una página a otra dentro de un documento PDF. La clase LocalHyperlink se usa para navegar a la página particular en un PDF. Los siguientes son los pasos para lograrlo.
- Cree un nuevo PDF o cargue uno existente usando la clase Document.
- Obtenga la referencia de la página donde desea agregar un hipervínculo de la colección Document.Pages.
- Cree una instancia de TextFragment para establecer el texto del hipervínculo.
- Cree una instancia de la clase LocalHyperlink y establezca la propiedad LocalHyperlink.TargetPageNumber en el número de página deseado.
- Asigne el objeto LocalHyperlink a la propiedad TextFragment.Hyperlink.
- Agrega texto a la página usando el método Page.Paragraphs.Add(TextFragment).
- Guarde el PDF usando el método Document.Save(String).
El siguiente ejemplo de código muestra cómo agregar un hipervínculo para navegar a una página en particular en PDF.
// Abrir documento
Document document = new Document("input.pdf");
// Obtener referencia de la página
var page = document.Pages[1];
// Crear instancia de TextFragment
Aspose.Pdf.Text.TextFragment text = new Aspose.Pdf.Text.TextFragment("link page number test to page 7");
// Crear una instancia de hipervínculo local
Aspose.Pdf.LocalHyperlink link = new Aspose.Pdf.LocalHyperlink();
// Establecer página de destino para instancia de enlace
link.TargetPageNumber = 7;
// Establecer hipervínculo TextFragment
text.Hyperlink = link;
// Agregar texto a la colección de párrafos de la página
page.Paragraphs.Add(text);
// Guardar documento actualizado
document.Save("output.pdf");
Actualizar un hipervínculo en PDF usando C#
También puede recuperar un hipervínculo en un archivo PDF y actualizar sus propiedades. Los siguientes son los pasos para realizar esta operación.
- Cargue el archivo PDF usando la clase Document.
- Obtenga la referencia de la página donde se encuentra el hipervínculo de la colección Document.Pages.
- Extraiga el objeto LinkAnnotation deseado de la colección Page.Annotations por índice.
- Actualice las propiedades requeridas y guarde el PDF usando el método Document.Save(String).
El siguiente ejemplo de código muestra cómo actualizar un hipervínculo en PDF usando C#.
// Abrir documento
Document document = new Document("input.pdf");];
// Obtener la primera anotación de enlace de la primera página del documento
LinkAnnotation linkAnnot = (LinkAnnotation)document.Pages[1].Annotations[1];
// Cambie la acción del enlace y establezca el destino como dirección web
linkAnnot.Action = new GoToURIAction("www.aspose.com");
// Cambie otras propiedades según sea necesario
// Guardar documento actualizado
document.Save("output.pdf");
Obtenga una licencia gratis
Puede obtener una licencia temporal gratuita para usar Aspose.PDF for .NET sin limitaciones de evaluación.
Conclusión
En este artículo, aprendió cómo agregar diferentes tipos de hipervínculos en archivos PDF usando C#. Además, ha visto cómo recuperar los hipervínculos de archivos PDF existentes y actualizar sus propiedades mediante programación. Además, puede explorar más sobre la API de PDF de .NET utilizando la documentación. En caso de que tenga alguna pregunta o consulta, puede contactarnos a través de nuestro foro.