Java에서 PDF 책갈피 추가 및 삭제

프로그래밍 방식으로 책갈피를 관리하려면 문서 개요 컬렉션을 사용하세요.

최상위 책갈피 추가

문서에 단일 최상위 개요 항목이 포함되어야 하는 경우 이 예를 사용하세요.

  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());
    }
}