In questo breve articolo pratico, imparerai come estrarre link da PDF in Java. Contiene le impostazioni IDE, un elenco di passaggi e un codice di esempio per estrarre hyperlink da PDF in Java. Imparerai a recuperare annotazioni di tipo link e trasformarle in URIAction per recuperare l’URI.
Passaggi per estrarre l’URL dal PDF in Java
- Imposta l’IDE per utilizzare Aspose.PDF for Java per estrarre i collegamenti
- Carica il PDF sorgente file, scorri tutte le pagine e crea un selettore di annotazioni per la pagina
- Estrarre tutte le annotazioni dalla pagina e salvarle nella raccolta Selezionata
- Scorrere tutte le annotazioni e convertire ogni annotazione in GoToURIAction
- Richiamare il metodo getURI() per accedere al collegamento e visualizzarlo sulla console
Questa guida ha mostrato come estrarre tutti i link da PDF in Java. Caricare il file PDF sorgente, accedere alle pagine di destinazione e creare un selettore di annotazioni per ogni pagina. Chiamare il metodo accept() utilizzando il selettore definito, recuperare l’elenco delle annotazioni dei link e recuperare l’URI tramite il typecasting nella classe GoToURIAction.
Codice per estrarre l’hyperlink dal PDF in 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."); | |
} | |
} |
Il codice sopra riportato ha dimostrato un estrattore di link PDF in Java. È possibile saltare o selezionare una pagina analizzandone il contenuto tramite l’oggetto della classe Page mentre si scorre attraverso le pagine nel PDF. Il metodo getAction() viene utilizzato per recuperare l’URIAction che contiene l’URI del link.
In questo articolo abbiamo appreso il processo di recupero di collegamenti ipertestuali da un PDF. Per creare collegamenti ipertestuali in un PDF, fare riferimento all’articolo su come creare un collegamento ipertestuale in PDF utilizzando Java.