IRONSOFTWAREHOME

Java를 사용하여 PDF 책갈피 및 개요를 추가하는 방법

Curtis Chau
Curtis Chau
Updated: 2026년 6월 16일

IronPDF의 Java 라이브러리는 BookmarkManager 클래스를 통해 프로그래밍 방식으로 PDF 문서에 책갈피 및 개요를 추가할 수 있으며, 사용자 지정 가능 탐색 지점을 갖춘 단일 레이어 및 다중 레이어 책갈피 구조를 지원합니다.

빠른 시작: Java에서 PDF 책갈피 추가
  1. IronPDF Java 라이브러리를 설치하고 라이선스 키를 설정하세요
  2. PdfDocument.fromFile()를 사용하여 PDF를 로드합니다.
  3. pdf.getBookmark()BookmarkManager를 가져옵니다.
  4. addBookMarkAtEnd("Title", pageNumber)을 사용하여 책갈피를 추가합니다.
  5. pdf.saveAs()로 PDF를 저장합니다.
  1. 1Install IronPDF with Maven Central Repository

    mvn install

  2. 2다음 코드 조각을 복사하여 실행하세요.

    //:path=/static-assets/ironpdf-java/content-code-examples/how-to/bookmarks/quickstart.java
    PdfDocument pdf = PdfDocument.fromFile(Path.of("document.pdf"));
    BookmarkManager bookmarks = pdf.getBookmark();
    bookmarks.addBookMarkAtEnd("Chapter 1", 0);
    pdf.saveAs(Path.of("bookmarked.pdf"));
    Java
  3. 3실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronPDF 사용 시작하기
    arrow pointer

PDF 북마크는 문서의 사용성과 탐색성을 향상시킵니다. 아웃라인은 PDF 내에서 구조화된 탐색을 제공하여 사용자가 목차와 유사하게 주요 섹션으로 직접 이동할 수 있도록 합니다. 이것은 긴 문서, 보고서 또는 조직화된 탐색이 필요한 다장 PDF를 작업할 때 필수적입니다.

IronPDF Java 애플리케이션에서 PDF 조작을 간소화합니다. 북마킹 API는 PDF 파일에서 사용자 정의 북마크를 만드는 간단한 방법을 제공합니다. 라이브러리는 Java 애플리케이션과 통합되며, 북마킹 외에도 PDF 병합, 양식 생성, 워터마크 추가 등 다양한 PDF 조작 기능을 지원합니다.

시작하기 전에 무엇이 필요합니까?

PDF 북마크를 구현하기 전에 IronPDF가 Java 프로젝트에 구성되어 있는지 확인하세요. 라이브러리는 Java 8 이상이 필요하며, Maven 또는 Gradle을 통해 통합됩니다. 프로젝트의 빌드 파일에 IronPDF 종속성을 추가하세요. 자세한 설정 지침은 시작 개요를 참조하세요.

개발 및 생산 사용을 위해 유효한 라이선스 키가 필요합니다. 응용 프로그램의 시작 부분에서 라이선스 키를 설정하고 IronPDF 메서드를 호출하기 전에 설정하세요. 라이선싱 옵션에 대한 정보는 라이선싱 가이드를 방문하세요.

팁: IronPDF의 모든 페이지 인덱스는 0 기반 번호 매기기를 사용합니다. 문서의 페이지 1은 인덱스 0, 페이지 2는 인덱스 1입니다.

PDF에 아웃라인과 북마크를 추가하려면 어떻게 해야 하나요?

아래 예제는 이 샘플 PDF를 사용하여 아웃라인 및 북마크 생성을 시연합니다. 이 과정은 기존 PDF 문서를 로드하고 IronPDF의 BookmarkManager를 사용하여 문서 전체에 탐색 지점을 추가하는 것을 포함합니다.

책갈피를 한 겹으로 추가하려면 어떻게 해야 하나요?

명확하고 비계층적 구조를 지닌 보고서, 제품 매뉴얼 또는 각 섹션이 독립적으로 서있는 슬라이드 데크와 같은 문서에는 평면 북마크 목록이 적합합니다. PdfDocument.fromFile()를 사용하여 파일 경로에서 PDF를 로드한 후 BookmarkManager 객체를 검색하여 책갈피를 추가하기 시작합니다.

addBookMarkAtEndaddBookMarkAtStart 메서드는 각각 책갈피 컬렉션의 끝 또는 시작에 항목을 추가합니다. 이 메서드들은 문서의 구조에 맞게 북마크를 조직하는 유연성을 제공합니다. 각 항목은 표시 제목과 0 기반 페이지 인덱스를 수용합니다.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/bookmarks/single-layer.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the PDF file
        PdfDocument pdf = PdfDocument.fromFile(Path.of("NovelSample.pdf"));
        
        // Get BookmarkManager object to manage bookmarks
        BookmarkManager bookmarks = pdf.getBookmark();

        // Add bookmarks at the end of the bookmark collection
        bookmarks.addBookMarkAtEnd("Title Page", 0);
        bookmarks.addBookMarkAtEnd("Table of Contents", 1);
        bookmarks.addBookMarkAtEnd("Dedication Page", 2);
        bookmarks.addBookMarkAtEnd("First Page", 3);
        bookmarks.addBookMarkAtStart("Page 4", 6);

        // Save the modified PDF with bookmarks
        pdf.saveAs(Path.of("bookmarked.pdf"));
    }
}
Java

위의 PDF 뷰어를 사용하여 대부분의 브라우저에서 왼쪽 상단 모서리에 있는 목차를 확인하여 추가된 모든 북마크를 확인하세요. 이 평면 북마크 구조는 단순한 조직적 요구가 있는 문서에 대한 간단한 탐색을 제공합니다.

책갈피를 여러 겹으로 만드는 방법은 무엇인가요?

중첩 북마크는 독자가 챕터로뿐만 아니라 챕터 내의 하위 섹션으로 탐색해야 하는 다장문서나 리서치 보고서에 적합한 선택입니다. 이전 섹션에서 생성된 동일한 평면 책갈피로 시작한 후 insertBookmark을 사용하여 새로운 레이어에 항목을 추가합니다.

insertBookmark 메서드는 4개의 매개변수를 수락합니다: 책갈피 이름, 대상 페이지 인덱스, 상위 책갈피 이름 및 이전 형제 책갈피 이름. 상위 북마크 이름을 전달하면 그 아래에 중첩된 자식 항목을 생성합니다. 형제 매개변수를 null로 설정하면 새 항목이 해당 상위의 첫 번째 자식으로 배치됩니다.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/bookmarks/multi-layer.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
        
        // Load the PDF file
        PdfDocument pdf = PdfDocument.fromFile(Path.of("NovelSample.pdf"));

        // Get BookmarkManager object
        BookmarkManager bookmarks = pdf.getBookmark();
        
        // Add top-level bookmarks at the end
        bookmarks.addBookMarkAtEnd("Title Page", 0);
        bookmarks.addBookMarkAtEnd("Table of Contents", 1);
        bookmarks.addBookMarkAtEnd("Dedication", 2);

        // Insert second-layer bookmarks as children of existing entries
        bookmarks.insertBookmark("First Page", 3, "Table of Contents", null);
        bookmarks.insertBookmark("Second Page", 4, "Table of Contents", "First Page");
        bookmarks.insertBookmark("End of Sample", 7, "Title Page", null);
        bookmarks.insertBookmark("Fourth page", 6, "Table of Contents", "Second Page");

        // Save the modified PDF with nested bookmarks
        pdf.saveAs(Path.of("multiLayer.pdf"));
    }
}
Java

위의 PDF는 insertBookmark에 의해 생성된 책갈피의 트리 구조를 보여줍니다. 아웃라인 패널을 확장하여 각 자식 항목이 상위 아래에 어떻게 중첩되는지 확인하세요. 이 레이어드 접근 방식은 챕터, 하위 챕터 및 부록이 있는 보고서에 적합합니다.


PDF 파일에서 기존 책갈피를 어떻게 복구할 수 있나요?

PDF에서 북마크 데이터를 읽어 들이는 것은 전체 탐색 구조를 다시 빌드하지 않고 문서를 업데이트할 때 필수 사항입니다. IronPDF는 동일한 BookmarkManager 인터페이스를 통해 접근 가능한 상태로 만듭니다. PdfDocument.fromFile()로 PDF를 로드하고, BookmarkManager에 액세스한 후, 모든 최상위 책갈피를 검색하기 위해 getBookmarks()를 호출합니다.

목록에서 위치로 특정 책갈피에 액세스하려면 get(index)을 사용하십시오. getText() 메서드는 책갈피의 표시 라벨을 반환하고, getPageIndex()는 포함된 준비되지 않은 페이지 번호를 반환합니다. 하위 책갈피는 getBookmarks()가 반환하는 평면 목록에 포함되지 않습니다; 각 상위 책갈피의 getChildren() 메서드를 통해 액세스하십시오.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/bookmarks/retrieve-bookmarks.java
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.Bookmark;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
        
        // Load the PDF file with bookmarks
        PdfDocument pdf = PdfDocument.fromFile(Path.of("bookmarked.pdf"));

        // Retrieve the bookmark manager
        BookmarkManager bookmarks = pdf.getBookmark();
        
        // Retrieve list of all bookmarks (includes child bookmarks)
        List<Bookmark> bookmarkList = bookmarks.getBookmarks();

        // Access a specific bookmark by zero-based index
        Bookmark bookmark = bookmarkList.get(2);
        
        // Print bookmark details
        System.out.println("Bookmark Title: " + bookmark.getText());
        System.out.println("Page Number: " + bookmark.getPageIndex());
        
        // Check if bookmark has children
        if (bookmark.getChildren() != null && !bookmark.getChildren().isEmpty()) {
            System.out.println("Number of child bookmarks: " + bookmark.getChildren().size());
        }
    }
}
Java
참고해 주세요: getBookmarks() 메서드는 최상위 책갈피만의 평면 목록을 반환합니다. 전체 책갈피 트리를 탐색하려면 중첩된 항목이 있는 각 책갈피에서 getChildren()을 재귀적으로 호출하십시오.

이 검색 패턴은 배포 전에 기존 PDF의 탐색 구조를 감사하거나, 게시 전에 필수 섹션이 올바르게 북마크됐는지 확인해야 하는 도구 빌딩에 유용합니다.


특정 목차에 책갈피를 삽입하려면 어떻게 해야 하나요?

특정 포지션에 북마크를 삽입하여 전체 아웃라인을 처음부터 다시 빌드하지 않고도 기존 PDF를 점진적으로 업데이트할 수 있습니다. 이는 PDF가 파이프라인에서 생성되거나 수정되며, 새로운 콘텐츠가 다운스트림으로 추가될 때 특히 유용합니다.

getBookmarks()를 사용하여 평면 책갈피 목록을 검색하고, 목록 인덱스로 대상 책갈피를 선택한 다음 addNextBookmark을 호출하여 해당 바로 뒤에 새 형제를 삽입합니다. 하위에서 선택된 책갈피 아래에 중첩된 새 항목을 배치하려면 addChildBookmark를 사용하십시오. 두 메서드는 제목 문자열과 0 기반 페이지 인덱스를 수용합니다.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/bookmarks/insert-at-index.java
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.Bookmark;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
        
        // Load the PDF modified in the multi-layer example
        PdfDocument pdf = PdfDocument.fromFile(Path.of("multiLayer.pdf"));

        // Get the BookmarkManager
        BookmarkManager bookmarks = pdf.getBookmark();
        
        // Retrieve the flat bookmark list
        List<Bookmark> bookmarkList = bookmarks.getBookmarks();
        
        // Select a bookmark at a specific index
        Bookmark bookmark = bookmarkList.get(5);
        
        // Insert a new bookmark after the selected entry
        bookmark.addNextBookmark("Fourth Page", 6);
        
        // Add a child bookmark under the selected entry
        bookmark.addChildBookmark("Section 1", 7);

        // Save the updated PDF
        pdf.saveAs(Path.of("specificIndex.pdf"));
    }
}
Java
참고해 주세요: 북마크 이름이 동일한 두 PDFs를 병합할 때, 결과 북마크 목록이 예상치 못한 방식으로 작동할 수 있습니다. 병합 전 충돌하는 북마크의 이름을 변경하여 깨끗한 아웃라인을 유지하세요.

addNextBookmark 메서드는 목록에서 선택된 책갈피의 형제로 새 항목을 삽입합니다. addChildBookmark 메서드는 선택된 책갈피 아래에 중첩된 새 항목을 배치합니다. 두 메서드는 제목 문자열과 0 기반 페이지 인덱스를 수용합니다.

Java에서 PDF 북마크를 위한 다음 단계는 무엇인가요?

PDF 북마크는 복잡한 문서를 스크롤 없이 직접 탐색 경로를 사용자에게 제공합니다. IronPDF의 BookmarkManager는 평면 항목 목록 추가, 깊이 있는 다중 레벨 개요 빌드, 기존 항목 검색 및 특정 위치에 삽입을 포함한 전체 책갈피 작업 범위를 처리합니다.

문서 구조와 탐색 기능 작업을 계속하려면 관련 리소스를 탐색하세요:

무료 체험을 시작하여 Java PDF 워크플로우에 북마크, 아웃라인 및 다른 탐색 기능을 추가하세요. 생산용으로 라이선스를 구매하려면, 라이선싱 옵션 보기를 클릭하세요.

자주 묻는 질문

Java를 사용하여 PDF 문서에 책갈피를 추가하는 방법은 무엇인가요?

PdfDocument.fromFile()를 사용하여 PDF를 로드한 다음, pdf.getBookmark()를 호출하여 BookmarkManager를 가져옵니다. addBookMarkAtEnd("Title", pageIndex)를 사용하여 표시 이름과 0 기반 페이지 번호로 각 북마크를 추가하고 pdf.saveAs()로 저장합니다.

Java에서 PDF 북마크를 추가하기 위한 전제 조건은 무엇인가요?

Java 8 이상, Maven 또는 Gradle 종속 항목으로 추가된 IronPDF 라이브러리, 그리고 IronPDF 호출 전에 License.setLicenseKey()로 설정된 유효한 라이선스 키가 필요합니다. 추가 도구나 프레임워크는 필요하지 않습니다.

PDF에서 다단계 책갈피 계층 구조를 만들 수 있나요?

네. addBookMarkAtEnd로 상위 북마크를 먼저 추가한 다음, insertBookmark(name, pageIndex, parentName, siblingName)를 호출하여 상위 북마크 아래에 하위 항목을 둡니다. 새로운 항목을 첫 번째 자식으로 배치하려면 null을 형제 이름으로 전달하세요.

addBookMarkAtEnd와 insertBookmark의 차이점은 무엇인가요?

addBookMarkAtEnd는 북마크 목록 끝에 새로운 최상위 항목을 추가합니다. insertBookmark는 부모 북마크 이름과 선택적인 앞선 형제를 지정함으로써, 중첩된 윤곽을 가능하게 하여, 계층 내 특정 위치에 북마크를 배치합니다.

Java에서 기존 PDF 북마크를 어떻게 읽나요?

pdf.getBookmark().getBookmarks()를 호출하여 최상위 북마크의 평면 목록을 가져옵니다. 인덱스를 사용하여 개별 항목에 접근하고, list.get(index)로 접근합니다. bookmark.getText()로 제목을, bookmark.getPageIndex()로 0 기반 페이지 번호를 가져옵니다. 자식 북마크는 bookmark.getChildren()를 통해 접근할 수 있습니다.

기존 북마크 후에 새 북마크를 어떻게 삽입하나요?

getBookmarks()로 북마크 목록을 가져오고, 인덱스로 대상 항목을 선택한 다음, bookmark.addNextBookmark("Title", pageIndex)를 호출하여 즉시 뒤에 형제를 삽입하거나 bookmark.addChildBookmark("Title", pageIndex)로 하위 항목을 그 밑에 넣습니다.

What features does IronPDF provide beyond PDF bookmarking?

IronPDF supports a variety of PDF manipulation features such as merging PDFs, creating forms, adding watermarks, and many more functionalities that integrate seamlessly with Java applications.

How do you insert a bookmark at a specific index in a PDF with IronPDF?

Use `addNextBookmark` to insert a bookmark immediately after a specific entry and `addChildBookmark` to place a new entry one level deeper under a selected bookmark.

Can IronPDF handle PDF generation and modification pipelines?

Yes, IronPDF allows for incremental updates to PDFs, making it suitable for pipelines where new content can be appended with appropriate bookmarks without rebuilding the entire document structure.

Where can I find more information about using IronPDF for Java?

You can explore additional resources and tutorials on the IronPDF website, which provide detailed examples for splitting PDFs, printing, adding annotations, and using the full range of IronPDF Java API features.

Curtis Chau
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

...
더 읽어보기

시작할 준비 되셨나요?

버전:2026.6방금 출시

지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.
PDF용 Java Maven 라이브러리
Maven을 사용하여 설치하세요

버전: 2026.6

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>ironpdf</artifactId>
   <version>2026.6.1</version>
</dependency>
https://central.sonatype.com/artifact/com.ironsoftware/ironpdf/2026.6.1
or
자바 PDF JAR
JAR 파일 다운로드

버전: 2026.6

프로젝트에 수동으로 설치하세요

Key in blue circle

무료 30일 체험 키를 즉시 받으세요.

Your trial license will be sent to your email address

제한 없음. 100% 무제한 이용. 신용카드 불필요.

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.제한 없음. 100% 무제한 이용. 신용카드 불필요.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
무료 라이브 데모를 예약하세요
Booking Badge

전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.

Iron Software의 고객 로고
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.