استخراج روابط PDF في Java

يمكنك فحص روابط PDF عن طريق التكرار عبر ملاحظات الصفحة وتصفية AnnotationType.Link.

استخراج تعليقات الروابط

استخدم هذا المثال عندما تحتاج إلى معلومات الموقع والصفحة لتعليقات الروابط على صفحة.

  1. افتح ملف PDF المصدر Document.
  2. استعرض تعليقات الصفحة وقم بفلترة تعليقات الروابط.
  3. اقرأ فهرس الصفحة والمستطيل لكل رابط مطابق.
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());
            }
        }
    }
}

استخراج وجهات الروابط التشعبية

استخدم هذا المثال عندما تحتاج إلى قراءة عناوين URI الهدف من تعليقات الروابط التشعبية على الويب.

  1. افتح ملف PDF المصدر Document.
  2. ابحث الكائنات LinkAnnotation التي يكون إجراءها هو GoToURIAction.
  3. اطبع فهرس الصفحة والهدف URI لكل ارتباط تشعبي.
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());
                }
            }
        }
    }
}