I den här korta instruktionsartikeln kommer du att lära dig hur du extraherar länkar från PDF i Java. Den innehåller IDE-inställningarna, en lista med steg och en exempelkod för att extrahera hyperlänkar från PDF i Java. Du kommer att lära dig att hämta länktypskommentarer och omvandla dem till URIaction för att hämta URI:n.
Steg för att extrahera URL från PDF i Java
- Ställ in IDE att använda Aspose.PDF for Java för att extrahera länkar
- Ladda käll-PDF-filen file, iterera genom alla sidor och skapa en anteckningsväljare för sidan
- Extrahera alla kommentarer från sidan och spara dem i den valda samlingen
- Iterera igenom alla kommentarer och typcast varje anteckning till GoToURIAction
- Anropa metoden getURI() för att komma åt länken och visa den på konsolen
Den här guiden har visat hur man extraherar alla länkar från PDF i Java. Ladda käll-PDF-filen, gå till målsidorna och skapa en anteckningsväljare för varje sida. Anropa accept()-metoden med den definierade väljaren, hämta listan med länkkommentarer och hämta URI:n genom att typcasta den till klassen GoToURIAction.
Kod för att extrahera hyperlänk från PDF i 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."); | |
} | |
} |
Ovanstående kod har demonstrerat en PDF-länkextraktor i Java. Du kan hoppa över eller välja en sida genom att analysera dess innehåll med hjälp av klassobjektet Sida medan du itererar genom sidorna i PDF-filen. Metoden getAction() används för att hämta URIaction som innehåller länkens URI.
I den här artikeln har vi lärt oss processen att hämta hyperlänkar från en PDF. För att skapa hyperlänkar i en PDF, se artikeln om hur man skapar hyperlänkar i PDF med Java.