Java에서 PDF 책갈피 가져오기, 업데이트 및 확장

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