Mengekstrak tautan PDF di Java
Contents
[
Hide
]
Anda dapat memeriksa tautan PDF dengan mengiterasi anotasi halaman dan memfilter untuk AnnotationType.Link.
Mengekstrak anotasi tautan
Gunakan contoh ini ketika Anda memerlukan lokasi dan informasi halaman untuk anotasi tautan pada sebuah halaman.
- Buka PDF sumber
Document. - Iterasikan melalui anotasi halaman dan saring untuk anotasi tautan.
- Baca indeks halaman dan persegi panjang untuk setiap tautan yang cocok.
public static void extractLinkAnnotation(Path inputFile) {
try (Document document = new Document(inputFile.toString())) {
for (Annotation annotation : document.getPages().get_Item(1).getAnnotations()) {
if (annotation.getAnnotationType() == AnnotationType.Link && annotation instanceof LinkAnnotation) {
LinkAnnotation linkAnnotation = (LinkAnnotation) annotation;
System.out.println("Page: " + linkAnnotation.getPageIndex()
+ ", location: " + linkAnnotation.getRect());
}
}
}
}
Mengekstrak tujuan hyperlink
Gunakan contoh ini ketika Anda perlu membaca URI target dari anotasi tautan web.
- Buka PDF sumber
Document. - Cari objek
LinkAnnotationyang tindakannya adalahGoToURIAction. - Cetak indeks halaman dan target URI untuk setiap hyperlink.
public static void extractHyperlinks(Path inputFile) {
try (Document document = new Document(inputFile.toString())) {
for (Annotation annotation : document.getPages().get_Item(1).getAnnotations()) {
if (annotation.getAnnotationType() == AnnotationType.Link && annotation instanceof LinkAnnotation) {
LinkAnnotation linkAnnotation = (LinkAnnotation) annotation;
if (linkAnnotation.getAction() instanceof GoToURIAction) {
GoToURIAction action = (GoToURIAction) linkAnnotation.getAction();
System.out.println("Page " + linkAnnotation.getPageIndex() + ", URI:" + action.getURI());
}
}
}
}
}