PDF es un formato de documento popular que brinda soporte multiplataforma con una variedad de características para crear documentos enriquecidos. Además, admite una variedad de elementos como medios, formularios, anotaciones, artefactos, etc. Entre estos elementos, los hipervínculos se usan con bastante frecuencia para navegar dentro del PDF, de un PDF a otro, para abrir una URL, etc. En este artículo, aprenderá cómo agregar y actualizar hipervínculos en archivos PDF mediante programación en Java.
- API de Java para agregar hipervínculos en PDF
- Agregar hipervínculo en un PDF
- Agregar hipervínculo para un PDF externo
- Insertar hipervínculo a una página en particular
- Actualizar un hipervínculo en un PDF
API de Java para agregar hipervínculos en PDF - Descarga gratuita
Aspose.PDF for Java es una API increíble para la generación y manipulación de PDF. Con la API, puede crear, procesar y convertir sin problemas archivos PDF de diseños simples y complejos. Usaremos esta API para agregar y actualizar hipervínculos en archivos PDF. Puede descargar el JAR de la API o instalarlo usando las siguientes configuraciones de Maven.
Repositorio:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dependencia:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>22.4</version>
</dependency>
Agregar hipervínculo en un PDF en Java
Los siguientes son los pasos para agregar un hipervínculo a un archivo PDF en Java.
- Cree un nuevo PDF o cargue uno existente usando la clase Document.
- Obtenga la referencia de la página donde desea agregar el hipervínculo de la colección Document.getPages().
- Cree un objeto de la clase LinkAnnotation y establezca sus propiedades.
- Utilice el método LinkAnnotation.setAction() para asignar el objeto GoToURIAction que contiene la URL.
- Agregue un hipervínculo a la página usando el método Page.getAnnotations().add().
- 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 Java.
// Abrir documento
Document document = new Document("input.pdf");
// Obtener referencia de la página
Page page = document.getPages().get_Item(1);
// Crear objeto de anotación de enlace
LinkAnnotation link = new LinkAnnotation(page, new com.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.setWidth ( 0);
// Establecer el borde para LinkAnnotation
link.setBorder(border);
// Especifique el tipo de enlace como URI remoto
link.setAction( 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.getAnnotations().add(link);
// Guardar documento actualizado
document.save("output.pdf");
Java Agregar hipervínculo para un PDF externo
También puede navegar a un archivo PDF externo desde un PDF mediante un hipervínculo. Los siguientes pasos demuestran cómo agregar un hipervínculo para un archivo PDF externo en Java.
- Cree un nuevo PDF o cargue uno existente usando la clase Document.
- Obtenga la referencia de la página donde desea agregar el hipervínculo de la colección Document.getPages().
- Cree un objeto de la clase LinkAnnotation y establezca sus propiedades.
- Use el método LinkAnnotation.setAction() para establecer la acción en el objeto GoToRemoteAction que contiene la ruta al PDF externo.
- Agregue un hipervínculo a la página usando el método Page.getAnnotations().add().
- Guarde PDF usando el método Document.save(String).
El siguiente ejemplo de código muestra cómo agregar un hipervínculo para un PDF externo en Java.
// Abrir documento
Document document = new Document("input.pdf");
// Obtener referencia de la página
Page page = document.getPages().get_Item(1);
// Crear hipervínculo
LinkAnnotation link = new LinkAnnotation(page, new com.aspose.pdf.Rectangle(100, 100, 300, 300));
link.setColor(Color.getGreen());
// Establecer acción
link.setAction( new GoToRemoteAction("external.pdf", 1));
// Agregar anotación de enlace a la colección de anotaciones de la primera página del archivo PDF
page.getAnnotations().add(link);
// Guardar documento actualizado
document.save("output.pdf");
Java 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 una 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 el hipervínculo de la colección Document.getPages().
- Cree una instancia de la clase TextFragment para establecer el texto del hipervínculo.
- Cree una instancia de la clase LocalHyperlink y utilice el método LocalHyperlink.setTargetPageNumber() para establecer el número de página de destino.
- Asigne el objeto LocalHyperlink usando el método TextFragment.setHyperlink().
- Agrega texto a la página usando el método Page.getParagraphs().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 particular en PDF.
// Abrir documento
Document document = new Document("input.pdf");
// Obtener referencia de la página
Page page = document.getPages().get_Item(1);
// Crear instancia de TextFragment
TextFragment text = new TextFragment("link page number test to page 7");
// Crear una instancia de hipervínculo local
LocalHyperlink link = new LocalHyperlink();
// Establecer página de destino para instancia de enlace
link.setTargetPageNumber( 7);
// Establecer hipervínculo TextFragment
text.setHyperlink(link);
// Agregar texto a la colección de párrafos de la página
page.getParagraphs().add(text);
// Guardar documento actualizado
document.save("output.pdf");
Actualizar un hipervínculo en PDF usando Java
También puede recuperar un hipervínculo de un archivo PDF y actualizar sus propiedades. Los siguientes son los pasos para realizar esta operación.
- Cree un nuevo PDF o cargue uno existente usando la clase Document.
- Obtenga la referencia de la página donde se encuentra el hipervínculo de la colección Document.getPages().
- Extraiga el objeto LinkAnnotation deseado por índice usando el método Page.getAnnotations().getitem().
- Actualice las propiedades requeridas del hipervínculo 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 Java.
// 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.getPages().get_Item(1).getAnnotations().get_Item(1);
// Cambie la acción del enlace y establezca el destino como dirección web
linkAnnot.setAction(new GoToURIAction("www.aspose.com"));
// Cambie otras propiedades según sea necesario
// Guardar documento actualizado
document.save("output.pdf");
API de Java para agregar hipervínculos en PDF: obtenga una licencia gratuita
Puede obtener una licencia temporal gratuita para usar Aspose.PDF for Java sin limitaciones de evaluación.
Conclusión
En este artículo, aprendió cómo agregar diferentes tipos de hipervínculos en archivos PDF utilizando Java. 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 PDF de Java usando la documentación. En caso de que tenga alguna pregunta o consulta, puede contactarnos a través de nuestro foro.