الحصول على إشارات PDF وتحديثها وتوسيعها في Java

Aspose.PDF for Java يتيح الإشارات المرجعية من خلال كلٍ من نموذج مخطط المستند و واجهة PdfBookmarkEditor.

احصل على خصائص العلامة المرجعية

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

  1. افتح ملف PDF المصدر Document.
  2. مرّ على مجموعة المخططات.
  3. اقرأ واطبع عنوان الإشارة المرجعية، والنمط، وقيم اللون.
public static void getBookmarks(Path inputFile) {
    try (Document document = new Document(inputFile.toString())) {
        for (int i = 1; i <= document.getOutlines().size(); i++) {
            OutlineItemCollection outlineItem = document.getOutlines().get_Item(i);
            System.out.println(outlineItem.getTitle());
            System.out.println(outlineItem.getItalic());
            System.out.println(outlineItem.getBold());
            System.out.println(outlineItem.getColor());
        }
    }
}

احصل على أرقام صفحات العلامات المرجعية

هذا المثال يستخدم PdfBookmarkEditor لاستخراج عناوين الإشارات المرجعية، المستويات، أرقام الصفحات، والإجراءات.

  1. اربط ملف PDF المصدر بـ PdfBookmarkEditor.
  2. استخرج مجموعة العلامات المرجعية وتكرّر عبرها.
  3. اطبع المستوى والعنوان ورقم الصفحة ومعلومات الإجراء لكل علامة مرجعية.
public static void getBookmarkPageNumber(Path inputFile) {
    PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor();
    try {
        bookmarkEditor.bindPdf(inputFile.toString());
        for (Bookmark bookmark : bookmarkEditor.extractBookmarks()) {
            String levelSeparator = "";
            for (int i = 0; i < bookmark.getLevel(); i++) {
                levelSeparator += "----";
            }

            System.out.println(levelSeparator + " Title: " + bookmark.getTitle());
            System.out.println(levelSeparator + " Page Number: " + bookmark.getPageNumber());
            System.out.println(levelSeparator + " Page Action: " + bookmark.getAction());
        }
    } finally {
        bookmarkEditor.close();
    }
}

احصل على العلامات المرجعية الفرعية

استخدم هذا المثال عندما تحتاج إلى فحص كل من عناصر المخطط ذات المستوى الأعلى والعناصر المتداخلة

  1. افتح ملف PDF المصدر Document.
  2. مرّ على المخططات ذات المستوى الأعلى واطبع خصائصها.
  3. اكتشف العلامات المرجعية الفرعية، ثم تكرار عبرها وطباعة خصائصها
public static void getChildBookmarks(Path inputFile) {
    try (Document document = new Document(inputFile.toString())) {
        for (int i = 1; i <= document.getOutlines().size(); i++) {
            OutlineItemCollection outlineItem = document.getOutlines().get_Item(i);
            System.out.println(outlineItem.getTitle());
            System.out.println(outlineItem.getItalic());
            System.out.println(outlineItem.getBold());
            System.out.println(outlineItem.getColor());
            int count = outlineItem.size();
            if (count > 0) {
                System.out.println("Child Bookmarks");
                for (int j = 1; j <= outlineItem.size(); j++) {
                    OutlineItemCollection childOutlineItem = outlineItem.get_Item(j);
                    System.out.println(childOutlineItem.getTitle());
                    System.out.println(childOutlineItem.getItalic());
                    System.out.println(childOutlineItem.getBold());
                    System.out.println(childOutlineItem.getColor());
                }
            }
        }
    }
}

تحديث الإشارات المرجعية

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

  1. افتح ملف PDF المصدر Document.
  2. انتقل إلى عنصر المخطط المستهدف وعلامة مرجعية فرعية.
  3. حدّث خصائص العلامة المرجعية واحفظ المستند.
public static void updateBookmarks(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        OutlineItemCollection outline = document.getOutlines().get_Item(1);
        OutlineItemCollection childOutline = outline.get_Item(1);
        childOutline.setTitle("Updated Outline");
        childOutline.setItalic(true);
        childOutline.setBold(true);

        document.save(outputFile.toString());
    }
}

توسيع الإشارات المرجعية افتراضيًا

استخدم هذا المثال عندما يجب أن تُفتح لوحة الإشارات المرجعية وتظهر عناصر المخطط الموسَّعة عند عرض المستند.

  1. افتح ملف PDF المصدر Document.
  2. اضبط وضع الصفحة لاستخدام المخططات وعَلِّم كل عنصر مخطط بأنه مفتوح.
  3. احفظ المستند المحدث.
public static void expandedBookmarks(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        document.setPageMode(PageMode.UseOutlines);
        for (int i = 1; i <= document.getOutlines().size(); i++) {
            OutlineItemCollection item = document.getOutlines().get_Item(i);
            item.setOpen(true);
        }
        document.save(outputFile.toString());
    }
}