الحصول على إشارات PDF وتحديثها وتوسيعها في Java
Contents
[
Hide
]
Aspose.PDF for Java يتيح الإشارات المرجعية من خلال كلٍ من نموذج مخطط المستند و واجهة PdfBookmarkEditor.
احصل على خصائص العلامة المرجعية
استخدم هذا المثال عندما تحتاج إلى فحص إدخالات العلامات المرجعية المستوى العلوي في مخطط المستند.
- افتح ملف PDF المصدر Document.
- مرّ على مجموعة المخططات.
- اقرأ واطبع عنوان الإشارة المرجعية، والنمط، وقيم اللون.
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 لاستخراج عناوين الإشارات المرجعية، المستويات، أرقام الصفحات، والإجراءات.
- اربط ملف PDF المصدر بـ PdfBookmarkEditor.
- استخرج مجموعة العلامات المرجعية وتكرّر عبرها.
- اطبع المستوى والعنوان ورقم الصفحة ومعلومات الإجراء لكل علامة مرجعية.
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();
}
}
احصل على العلامات المرجعية الفرعية
استخدم هذا المثال عندما تحتاج إلى فحص كل من عناصر المخطط ذات المستوى الأعلى والعناصر المتداخلة
- افتح ملف PDF المصدر Document.
- مرّ على المخططات ذات المستوى الأعلى واطبع خصائصها.
- اكتشف العلامات المرجعية الفرعية، ثم تكرار عبرها وطباعة خصائصها
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());
}
}
}
}
}
تحديث الإشارات المرجعية
استخدم هذا المثال عندما يجب تعديل عنوان الإشارة المرجعية الحالية والنمط.
- افتح ملف PDF المصدر Document.
- انتقل إلى عنصر المخطط المستهدف وعلامة مرجعية فرعية.
- حدّث خصائص العلامة المرجعية واحفظ المستند.
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());
}
}
توسيع الإشارات المرجعية افتراضيًا
استخدم هذا المثال عندما يجب أن تُفتح لوحة الإشارات المرجعية وتظهر عناصر المخطط الموسَّعة عند عرض المستند.
- افتح ملف PDF المصدر Document.
- اضبط وضع الصفحة لاستخدام المخططات وعَلِّم كل عنصر مخطط بأنه مفتوح.
- احفظ المستند المحدث.
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());
}
}