إضافة وحذف إشارات PDF في Java

استخدم مجموعة مخطط المستند لإدارة العلامات المرجعية برمجيًا.

إضافة علامة مرجعية على المستوى الأعلى

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

  1. افتح ملف PDF المصدر Document.
  2. أنشئ كائنًا من الفئة OutlineItemCollection وَاضبط عنوانه، نمطه، وإجراءه.
  3. أضف العلامة المرجعية إلى مخططات المستند واحفظ الملف.
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());
    }
}

إضافة علامة مرجعية فرعية

هذا المثال ينشئ علامة مرجعية أصلية ويضع علامة مرجعية فرعية تحتها.

  1. افتح ملف PDF المصدر Document.
  2. أنشئ أصل وفرعي كائنات OutlineItemCollection.
  3. أضف العنصر الفرعي إلى العنصر الأب، أضف العنصر الأب إلى مجموعة المخطط، واحفظ المستند.
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());
    }
}

حذف جميع الإشارات المرجعية

استخدم هذا النهج عندما ينبغي إزالة مجموعة المخطط بالكامل من المستند.

  1. افتح ملف PDF المصدر Document.
  2. احذف مجموعة المخططات الكاملة.
  3. احفظ ملف الإخراج المنقّح.
public static void deleteBookmarks(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        document.getOutlines().delete();
        document.save(outputFile.toString());
    }
}

حذف إشارة مرجعية محددة

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

  1. افتح ملف PDF المصدر Document.
  2. احذف الإشارة المرجعية حسب العنوان من مجموعة المخططات.
  3. احفظ المستند المحدث.
public static void deleteBookmark(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        document.getOutlines().delete("Child Outline");
        document.save(outputFile.toString());
    }
}