En este breve artículo instructivo, aprenderá a extraer enlaces de PDF en Java. Contiene la configuración de IDE, una lista de pasos y un código de muestra para extraer hipervínculos de PDF en Java. Aprenderá a obtener anotaciones de tipo de enlace y a transformarlas en URIAction para obtener el URI.
Pasos para extraer la URL de un PDF en Java
- Configurar el IDE para utilizar Aspose.PDF for Java para extraer enlaces
- Cargue el PDF de origen file, recorra todas las páginas y cree un selector de anotaciones para la página.
- Extraiga todas las anotaciones de la página y guárdelas en la colección Seleccionada
- Iterar a través de todas las anotaciones y convertir cada anotación a GoToURIAction
- Invoque el método getURI() para acceder al enlace y mostrarlo en la consola
Esta guía ha mostrado cómo extraer todos los enlaces de un PDF en Java. Cargue el archivo PDF de origen, acceda a las páginas de destino y cree un selector de anotaciones para cada página. Llame al método accept() utilizando el selector definido, obtenga la lista de anotaciones de enlaces y obtenga la URI mediante la conversión de tipos a la clase GoToURIAction.
Código para extraer hipervínculos de PDF en Java
import com.aspose.pdf.*; | |
import java.util.List; | |
public class Main { | |
public static void main(String[] args) throws Exception {//main() method for fetching URI | |
License license = new License();//Initialize the PDF license | |
license.setLicense("license.lic");//Apply the license | |
Document pdfDocument = new Document("PdfWithLinks.pdf");// Load hyperlinks PDF | |
// Iterate all the pages | |
for (int pageNumber = 1; pageNumber <= pdfDocument.getPages().size(); pageNumber++) { | |
System.out.println("Processing Page " + pageNumber);// Display the current page number | |
Page pdfPage = pdfDocument.getPages().get_Item(pageNumber);// Get the current page | |
// Create an annotation selector to find link annotations on the page | |
AnnotationSelector linkSelector = new AnnotationSelector(new LinkAnnotation(pdfPage, Rectangle.getTrivial())); | |
// Extract all annotations from the current page | |
pdfPage.accept(linkSelector); | |
// Retrieve the list of selected link annotations | |
List<Annotation> linkAnnotations = linkSelector.getSelected(); | |
// Iterate through each link annotation | |
for (Annotation annotation : linkAnnotations) { | |
// Check if the annotation is a LinkAnnotation and has actions | |
if (annotation instanceof LinkAnnotation) { | |
LinkAnnotation linkAnnotation = (LinkAnnotation) annotation; | |
// Check if the LinkAnnotation has any associated actions | |
if (linkAnnotation.getAction() instanceof GoToURIAction) { | |
// Cast the action to a GoToURIAction to access the URI | |
GoToURIAction uriAction = (GoToURIAction) linkAnnotation.getAction(); | |
// Display the extracted URI | |
System.out.println("Found URI: " + uriAction.getURI()); | |
} | |
} | |
} | |
} | |
// Indicate that the process is complete | |
System.out.println("URI extraction completed."); | |
} | |
} |
El código anterior ha demostrado un extractor de enlaces PDF en Java. Puede omitir o seleccionar una página analizando su contenido mediante el objeto de clase Page mientras itera a través de las páginas del PDF. El método getAction() se utiliza para obtener la URIAction que contiene el URI del enlace.
En este artículo, hemos aprendido el proceso de obtención de hipervínculos de un PDF. Para crear hipervínculos en un PDF, consulte el artículo sobre Cómo crear un hipervínculo en PDF usando Java.