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

This article was translated from English: Does it need improvement?
Translated
View the article in English

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

빠른 시작: Java에서 PDF 책갈피 추가

  1. IronPDF Java 라이브러리를 설치하고 라이선스 키를 설정하세요.
  2. PdfDocument.fromFile()를 사용하여 PDF를 로드하세요.
  3. BookmarkManagerpdf.getBookmark()를 가져오세요.
  4. addBookMarkAtEnd("Title", pageNumber)를 사용하여 책갈피를 추가합니다.
  5. PDF 파일을 pdf.saveAs()로 저장하세요.

```java :title=빠른 시작 PdfDocument pdf = PdfDocument.fromFile(Path.of("document.pdf")); BookmarkManager bookmarks = pdf.getBookmark(); bookmarks.addBookMarkAtEnd("Chapter 1", 0); pdf.saveAs(Path.of("bookmarked.pdf"));


PDF 책갈피는 문서의 사용성과 탐색 편의성을 크게 향상시켜 줍니다. 개요는 PDF 내에서 구조화된 탐색을 제공하여 사용자가 목차와 같은 주요 섹션으로 바로 이동할 수 있도록 합니다. 이 기능은 체계적인 탐색이 필요한 긴 문서, 보고서 또는 여러 장으로 구성된 PDF 파일을 다룰 때 필수적입니다.

IronPDF는 Java 애플리케이션에서 PDF 조작을 간소화합니다. 이 프로그램의 북마크 기능은 PDF 파일에 사용자 지정 북마크를 만드는 간단한 방법을 제공합니다. 이 라이브러리는 Java 애플리케이션과 완벽하게 통합되며 북마크 기능 외에도 [PDF 병합](https://ironpdf.com/java/how-to/java-merge-pdf-tutorial/) , [양식 생성](https://ironpdf.com/java/how-to/create-forms/) , [워터마크 추가](https://ironpdf.com/java/how-to/custom-watermark/) 등 다양한 PDF 조작 기능을 지원합니다.

<div class="hsg-featured-snippet">
    ## PDF에 책갈피와 개요를 추가하는 방법
    <ol>
        <li><a href="https://ironpdf.com/java/#download-modal">PDF에 책갈피를 추가하는 Java 라이브러리를 설치하세요.</a></li>
        <li>Utilize the **`PdfDocument`** class to load an existing PDF file in Java</li>
        <li>Create and customize the bookmarks with the **`BookmarkManager`** class</li>
        <li>Use `addBookMarkAtEnd` to add bookmarks to specific pages of the PDF</li>
        <li>새로운 개요와 책갈피가 포함된 PDF 문서를 저장하세요.</li>
    </ol>
</div>

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

PDF 책갈피 기능을 구현하기 전에 Java 프로젝트에 IronPDF가 올바르게 구성되어 있는지 확인하십시오. 이 라이브러리는 Java 8 이상을 필요로 하며 Maven 또는 Gradle을 사용하여 쉽게 통합할 수 있습니다. 프로젝트의 빌드 파일에 IronPDF 종속성을 추가해야 합니다. 자세한 설정 방법은 [시작하기 개요를](https://ironpdf.com/java/docs/) 참조하세요.

IronPDF는 개발을 위해 라이선스가 필요하므로 라이선스 키가 올바르게 구성되었는지 확인해야 합니다. 라이선스 옵션 및 구현에 대한 자세한 내용은 [라이선스 가이드를](https://ironpdf.com/java/get-started/license-keys/) 참조하십시오. IronPDF의 모든 기능을 사용하기 전에 애플리케이션 시작 부분에서 라이선스 키를 설정하십시오.

## PDF에 개요와 책갈피를 추가하는 방법은 무엇인가요?

이 예시에서는 이 [샘플 PDF 파일을](/static-assets/ironpdf-java/howto/bookmarks/NovelSample.pdf) 사용하여 개요와 책갈피를 적용해 보겠습니다. 이 과정은 기존 PDF 문서를 불러오고 IronPDF의 `BookmarkManager` 기능을 활용하여 문서 전체에 탐색 지점을 추가하는 것입니다.

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

지정된 파일 경로에서 [`PdfDocument`.fromFile](https://ironpdf.com/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html) 클래스를 사용하여 이 PDF를 로드한 후, [`BookmarkManager`](https://ironpdf.com/java/object-reference/api/com/ironsoftware/ironpdf/bookmark/BookmarkManager.html) 객체를 검색하여 책갈피 추가를 시작하세요. `addBookMarkAtEnd` 및 `addBookMarkAtStart` 메서드를 사용하여 북마크 모음의 시작 또는 끝에 북마크를 추가할 수 있습니다. 이러한 방법들은 문서 구조에 따라 책갈피를 유연하게 정리할 수 있도록 해줍니다.

모든 페이지 인덱스는 0부터 시작하는 인덱싱을 따른다는 점을 기억하세요.
```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(&quot;bookmarked.pdf&quot;)); } }

위의 PDF 뷰어를 사용하여 대부분의 브라우저 왼쪽 상단에 있는 목차를 확인하면 추가된 모든 책갈피를 볼 수 있습니다. 이 단일 레이어 북마크 구조는 간단한 구성 요구 사항을 가진 문서에 대해 직관적인 탐색을 제공합니다.

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

이 예시에서는 일반적인 책갈피 레이어를 만드는 것처럼 책갈피를 추가하는 것으로 시작합니다. 다음으로, insertBookmark 메서드를 사용하여 새 레이어에 새 책갈피를 추가합니다. 첫 번째 매개변수는 책갈피 이름을 지정하고, 두 번째 매개변수는 책갈피가 연결하는 페이지를 지정합니다. 새 레이어를 만들려면 메서드의 세 번째 매개변수를 사용하여 새 책갈피를 기존 책갈피의 "하위"로 만드세요. 이러한 계층적 구조는 장, 절, 소절로 구성된 문서에 적합합니다.

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 bookmarks at the end
        bookmarks.addBookMarkAtEnd("Title Page", 0);
        bookmarks.addBookMarkAtEnd("Table of Contents", 1);
        bookmarks.addBookMarkAtEnd("Dedication", 2);

        // Insert second layer bookmarks
        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 multiple layer bookmarks
        pdf.saveAs(Path.of("multiLayer.pdf"));
    }
}
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 bookmarks at the end
        bookmarks.addBookMarkAtEnd("Title Page", 0);
        bookmarks.addBookMarkAtEnd("Table of Contents", 1);
        bookmarks.addBookMarkAtEnd("Dedication", 2);

        // Insert second layer bookmarks
        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 multiple layer bookmarks
        pdf.saveAs(Path.of("multiLayer.pdf"));
    }
}
JAVA

여기에서 새로운 트리 구조의 북마크가 포함된 PDF 파일을 확인하실 수 있습니다. 개요를 확인하여 insertBookmark 기능이 북마크에 새로운 레이어를 추가한 방식을 살펴보세요. 이러한 다층적 접근 방식은 기술 문서, 학술 논문 또는 상세한 탐색 구조가 필요한 모든 문서에 적합합니다.


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

IronPDF의 북마크 도구는 새 북마크를 추가할 뿐만 아니라 기존 북마크를 검색하고 볼 수도 있습니다. 이 기능은 기존 PDF 파일을 수정하거나 구조를 분석할 때 필수적입니다. 책갈피를 탐색하려면 먼저 PdfDocument.fromFile 방법을 사용하여 PDF를 로드하세요. 그런 다음 BookmarkManager 객체에 접근하고 getBookmarks 메서드를 사용하여 하위 책갈피를 포함한 모든 책갈피를 검색합니다. 마지막으로, get 메서드를 사용하여 목록에서 인덱스를 통해 책갈피를 검색할 수 있습니다. 이 기능을 통해 기존 PDF 탐색 구조를 프로그래밍 방식으로 검사하고 조작할 수 있습니다.

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
        List<Bookmark> bookmarkList = bookmarks.getBookmarks();

        // Retrieve a specific bookmark by its 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());
        }
    }
}
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
        List<Bookmark> bookmarkList = bookmarks.getBookmarks();

        // Retrieve a specific bookmark by its 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

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

불러온 책갈피를 사용하면 문서 내 특정 위치에 새 책갈피를 추가할 수 있습니다. 이 기능은 기존 PDF 파일에 새 섹션을 추가하거나 문서 구조를 재구성할 때 유용합니다. 이를 위해 대상 책갈피를 선택하고 addNextBookmark 메서드를 사용하여 그 뒤에 새 책갈피를 추가합니다. 예를 들어, '여러 겹의 책갈피 추가' 섹션의 PDF 파일을 가져와서 '세 번째 페이지' 책갈피 뒤에 책갈피를 추가해 보세요. 또한 addChildBookmark 메서드를 사용하여 하위 책갈피를 더 깊은 계층으로 추가할 수 있으므로 문서의 탐색 계층 구조를 정밀하게 제어할 수 있습니다.

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 we modified earlier
        PdfDocument pdf = PdfDocument.fromFile(Path.of("multiLayer.pdf"));

        // Get the BookmarkManager
        BookmarkManager bookmarks = pdf.getBookmark();

        // Retrieve the list of bookmarks
        List<Bookmark> bookmarkList = bookmarks.getBookmarks();

        // Retrieve a specific bookmark by its index
        Bookmark bookmark = bookmarkList.get(5);

        // Add a new bookmark after the specified bookmark
        bookmark.addNextBookmark("Fourth Page", 6);

        // Add another layer to 'Third page' bookmark
        bookmark.addChildBookmark("Section 1", 7);

        // Save the modified PDF
        pdf.saveAs(Path.of("specificIndex.pdf"));
    }
}
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 we modified earlier
        PdfDocument pdf = PdfDocument.fromFile(Path.of("multiLayer.pdf"));

        // Get the BookmarkManager
        BookmarkManager bookmarks = pdf.getBookmark();

        // Retrieve the list of bookmarks
        List<Bookmark> bookmarkList = bookmarks.getBookmarks();

        // Retrieve a specific bookmark by its index
        Bookmark bookmark = bookmarkList.get(5);

        // Add a new bookmark after the specified bookmark
        bookmark.addNextBookmark("Fourth Page", 6);

        // Add another layer to 'Third page' bookmark
        bookmark.addChildBookmark("Section 1", 7);

        // Save the modified PDF
        pdf.saveAs(Path.of("specificIndex.pdf"));
    }
}
JAVA

참고해 주세요북마크 이름이 같은 두 PDF 문서를 병합하면 북마크 목록 자체가 손상될 수 있습니다.

복잡한 PDF 워크플로에서 책갈피를 사용할 때는 PDF를 분할하여 각기 다른 책갈피 구조를 가진 더 작은 문서를 만들거나, 책갈피 탐색 기능을 그대로 유지한 채 PDF를 인쇄하는 등의 IronPDF의 다른 기능을 활용해 보세요. 더욱 자세한 예제와 전체 코드 예시는 예제 섹션의 북마크 코드 예제를 참조하세요.

자주 묻는 질문

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

IronPDF의 BookmarkManager 클래스를 사용하면 PDF 문서에 책갈피를 추가할 수 있습니다. 먼저 PdfDocument.fromFile()을 사용하여 PDF 파일을 불러온 다음, pdf.getBookmark()를 통해 BookmarkManager에 접근하고, addBookMarkAtEnd() 메서드를 사용하여 책갈피 제목과 페이지 번호를 지정하여 책갈피를 추가하면 됩니다.

PDF 책갈피를 프로그램적으로 추가하기 위한 전제 조건은 무엇입니까?

IronPDF를 사용하여 PDF 책갈피를 추가하려면 Java 8 이상, Maven 또는 Gradle을 통해 통합된 IronPDF 라이브러리, 그리고 애플리케이션에 구성된 유효한 라이선스 키가 필요합니다. 이 라이브러리는 단일 계층 및 다중 계층 책갈피 구조를 모두 지원합니다.

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

네, IronPDF는 단일 레이어 및 다중 레이어 책갈피 구조 생성을 모두 지원합니다. BookmarkManager 클래스를 사용하여 부모-자식 책갈피로 구성된 계층적 탐색 구조를 만들어 복잡한 PDF 문서를 체계적으로 관리할 수 있습니다.

PDF 책갈피와 개요의 목적은 무엇인가요?

PDF 책갈피와 개요는 구조화된 탐색 기능을 제공하여 문서 사용성을 크게 향상시킵니다. 사용자는 이를 통해 목차와 같은 주요 섹션으로 바로 이동할 수 있으며, 이는 특히 긴 문서, 보고서 또는 여러 장으로 구성된 PDF에서 매우 유용합니다. IronPDF를 사용하면 이러한 탐색 기능을 프로그래밍 방식으로 쉽게 구현할 수 있습니다.

책갈피 기능 외에 PDF에서 사용할 수 있는 다른 조작 기능은 무엇이 있나요?

IronPDF는 책갈피 추가 기능 외에도 PDF 병합, 양식 생성, 워터마크 추가 등 다양한 문서 처리 기능을 포함한 포괄적인 PDF 조작 기능을 제공합니다. 이러한 기능은 Java 애플리케이션과 완벽하게 통합되어 PDF를 효율적으로 관리할 수 있습니다.

책갈피를 추가한 후 PDF 파일을 어떻게 저장하나요?

IronPDF의 BookmarkManager를 사용하여 책갈피를 추가한 후, PdfDocument 객체의 saveAs() 메서드를 호출하여 수정된 PDF 문서를 저장하고, 책갈피가 추가된 PDF를 저장할 출력 파일 경로를 지정합니다.

커티스 차우
기술 문서 작성자

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

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
버전: 2026.2 방금 출시되었습니다