إضافة وحذف إشارات PDF في Java
Contents
[
Hide
]
استخدم مجموعة مخطط المستند لإدارة العلامات المرجعية برمجيًا.
إضافة علامة مرجعية على المستوى الأعلى
استخدم هذا المثال عندما يجب أن يحتوي المستند على إدخال مخطط واحد على المستوى الأعلى.
- افتح ملف PDF المصدر Document.
- أنشئ كائنًا من الفئة OutlineItemCollection وَاضبط عنوانه، نمطه، وإجراءه.
- أضف العلامة المرجعية إلى مخططات المستند واحفظ الملف.
public static void addBookmark(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
OutlineItemCollection pdfOutline = new OutlineItemCollection(document.getOutlines());
pdfOutline.setTitle("Test Outline");
pdfOutline.setItalic(true);
pdfOutline.setBold(true);
pdfOutline.setAction(new GoToAction(document.getPages().get_Item(1)));
document.getOutlines().add(pdfOutline);
document.save(outputFile.toString());
}
}
إضافة علامة مرجعية فرعية
هذا المثال ينشئ علامة مرجعية أصلية ويضع علامة مرجعية فرعية تحتها.
- افتح ملف PDF المصدر Document.
- أنشئ أصل وفرعي كائنات OutlineItemCollection.
- أضف العنصر الفرعي إلى العنصر الأب، أضف العنصر الأب إلى مجموعة المخطط، واحفظ المستند.
public static void addChildBookmark(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
OutlineItemCollection pdfOutline = new OutlineItemCollection(document.getOutlines());
pdfOutline.setTitle("Parent Outline");
pdfOutline.setItalic(true);
pdfOutline.setBold(true);
OutlineItemCollection pdfChildOutline = new OutlineItemCollection(document.getOutlines());
pdfChildOutline.setTitle("Child Outline");
pdfChildOutline.setItalic(true);
pdfChildOutline.setBold(true);
pdfOutline.add(pdfChildOutline);
document.getOutlines().add(pdfOutline);
document.save(outputFile.toString());
}
}
حذف جميع الإشارات المرجعية
استخدم هذا النهج عندما ينبغي إزالة مجموعة المخطط بالكامل من المستند.
- افتح ملف PDF المصدر Document.
- احذف مجموعة المخططات الكاملة.
- احفظ ملف الإخراج المنقّح.
public static void deleteBookmarks(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
document.getOutlines().delete();
document.save(outputFile.toString());
}
}
حذف إشارة مرجعية محددة
استخدم هذا المثال عندما يجب إزالة إشارة مرجعية مسماة دون مسح شجرة الفهرس بأكملها.
- افتح ملف PDF المصدر Document.
- احذف الإشارة المرجعية حسب العنوان من مجموعة المخططات.
- احفظ المستند المحدث.
public static void deleteBookmark(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
document.getOutlines().delete("Child Outline");
document.save(outputFile.toString());
}
}