Java에서 PDF 분할하는 방법

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

Java에서 PDF를 분할하는 것은 IronPDF로 간단합니다. IronPDF는 개별 페이지를 추출하거나, 페이지 범위를 가져오거나, 경계에서 문서를 나누기 위해 copyPage, copyPagessplitBy 메서드를 PdfDocument 클래스에 제공합니다. 각 메서드는 원본과 독립적인 새 PdfDocument를 반환합니다.

빠른 시작: Java에서 PDF 분할

  1. IronPDF for Java를 Maven 또는 Gradle을 통해 설치하세요
  2. License.setLicenseKey()로 라이선스 키를 설정하세요.
  3. PdfDocument.fromFile()로 PDF를 로드하세요.
  4. copyPage()를 사용하여 단일 페이지를 추출하세요.
  5. saveAs()로 결과를 저장하세요.
 :title=Quickstart
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/quickstart.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

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

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Extract the first page (zero-based index 0) into a new document
        PdfDocument firstPage = pdf.copyPage(0);

        // Save the extracted page as a standalone PDF
        firstPage.saveAs(Path.of("page-one.pdf"));
    }
}
 :title=Quickstart
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/quickstart.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

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

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Extract the first page (zero-based index 0) into a new document
        PdfDocument firstPage = pdf.copyPage(0);

        // Save the extracted page as a standalone PDF
        firstPage.saveAs(Path.of("page-one.pdf"));
    }
}
JAVA

PDF 분할은 프로그래밍 방식으로 문서를 생성할 때 일반적인 요구 사항입니다. 단일 파일로 생성된 보고서는 배포 전 개별 섹션으로 나뉘어야 할 수 있습니다. 아카이빙 워크플로는 종종 각 장이나 송장을 별도의 파일로 저장해야 합니다. 특정 페이지 범위만 클라이언트에게 보내야 하는 선택적 공유 시나리오에서는 전체 문서를 보내는 대신 필요한 페이지만 추출하는 것이 유용합니다.

IronPDF는 PdfDocument 클래스에서 일관된 API를 통해 세 가지 분할 패턴을 모두 처리합니다. HTML에서 PDF를 생성하거나 기존 파일을 로드하는 데 사용되는 동일한 클래스가 페이지 추출 방법을 제공하므로, 분할은 기존 IronPDF 워크플로에 자연스럽게 통합됩니다. 설치 및 종속성 구성에 대한 설명은 시작 개요 페이지를 참조하십시오.

IronPDF의 모든 페이지 인덱스는 0부터 시작합니다. 소스 문서에 10페이지가 있는 경우 유효한 인덱스는 0에서 9까지입니다. 이는 copyPage, copyPages의 양경계 및 splitBy의 경계 인수에 적용됩니다. 범위를 벗어난 인덱스를 전달하면 런타임에 예외가 발생하므로 가변 길이 문서를 작업할 때 pdf.getPageCount()에 대해 페이지 수를 검증하세요.

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

PDF를 분할하기 전에 IronPDF가 Maven 또는 Gradle 종속성을 통해 Java 프로젝트에 추가되었는지 확인하십시오. 라이브러리는 Java 8 이상이 필요합니다. Maven Central에서 IronPDF 아티팩트를 빌드 파일에 추가하십시오:

<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>2024.9.1</version>
</dependency>
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>2024.9.1</version>
</dependency>
XML

Gradle 프로젝트의 경우 build.gradle에 해당하는 implementation 줄을 추가하세요. 전체 종속성 및 구성 지침은 시작 개요 페이지에서 확인할 수 있습니다.

유효한 라이선스 키가 필요합니다. 애플리케이션 시작 시 IronPDF 메서드를 호출하기 전에 설정하십시오:

License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
JAVA

라이선싱 옵션 및 체험 키에 대해서는 라이선스 키 가이드를 방문하십시오.

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

단일 페이지를 PDF에서 추출하는 방법은?

copyPage(int pageIndex) 메서드는 PdfDocument에서 한 페이지를 추출하고 이를 새롭고 독립적인 PdfDocument으로 반환합니다. 원래 문서는 수정되지 않습니다. pageIndex 인수는 0을 기준으로 합니다. 첫 번째 페이지를 위해 0, 두 번째 페이지를 위해 1를 전달하세요.

이 방법은 표지 페이지를 추출하거나 서명된 페이지 또는 배치 생성된 문서에서 단일 송장을 추출하는 등 특정 페이지를 분리해야 하는 워크플로에 적합합니다.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-single-page.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

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

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Extract the third page (zero-based index 2) into a new document
        PdfDocument thirdPage = pdf.copyPage(2);

        // Save the extracted page as a standalone PDF
        thirdPage.saveAs(Path.of("third-page.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-single-page.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

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

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Extract the third page (zero-based index 2) into a new document
        PdfDocument thirdPage = pdf.copyPage(2);

        // Save the extracted page as a standalone PDF
        thirdPage.saveAs(Path.of("third-page.pdf"));
    }
}
JAVA

반환된 PdfDocument는 소스와 완전히 독립적입니다. 저장하기 전에 추가 변환을 적용하거나, 주석을 추가하거나, 다른 문서와 병합할 수 있습니다.

Icon Quote related to 단일 페이지를 PDF에서 추출하는 방법은?

이 종류의 라이브러리 중 가장 좋아하는 것은 IronPDF입니다. PDF 파일을 빠르고 효율적으로 조작할 수 있습니다. 또한 PDF/A 형식으로 내보내기 및 PDF 문서의 디지털 서명과 같은 많은 유용한 기능을 가지고 있습니다.

Milan Jovanovic related to 단일 페이지를 PDF에서 추출하는 방법은?

Milan Jovanovic

마이크로소프트 MVP

사례 연구 보기
Icon Quote related to 단일 페이지를 PDF에서 추출하는 방법은?

IronOCR 덕분에 연간 $40,000를 수동 프로세싱에서 절약하고 생산성을 높이며 고부가가치 작업에 자원을 활용할 수 있습니다. 강력히 추천합니다.

Brent Matzelle related to 단일 페이지를 PDF에서 추출하는 방법은?

브렌트 마첼

최고 기술 책임자, OPYN

사례 연구 보기
Icon Quote related to 단일 페이지를 PDF에서 추출하는 방법은?

IronSuite는 우리의 운영에서 중요한 역할을 합니다. 이것들은 사업 전반에 걸쳐 효율성을 높이는 도구로, 평면도 생성 및 재고 관리 개선을 포함합니다.

David Jones related to 단일 페이지를 PDF에서 추출하는 방법은?

데이비드 존스

리드 소프트웨어 엔지니어, Agorus Build

사례 연구 보기

PDF에서 페이지 범위를 추출하는 방법은?

copyPages(int fromIndex, int toIndex) 메서드는 연속된 페이지 범위를 추출하고 이를 새 PdfDocument로 반환합니다. fromIndextoIndex는 모두 0을 기준으로 하며 포함합니다. 10페이지 문서에서 copyPages(1, 4)을 전달하면 페이지 2, 3, 4, 5(인덱스 1에서 4)가 추출됩니다.

페이지 범위 추출은 여러 장이 있는 보고서에서 장을 추출하거나 여러 페이지의 부록을 추출하거나 PDF로 내보낸 프레젠테이션에서 슬라이드 세트를 분리하는 시나리오에 적합합니다.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-page-range.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

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

        // Load a multi-page source PDF
        PdfDocument pdf = PdfDocument.fromFile(Path.of("multi-page-report.pdf"));

        // Extract pages 2 through 5 (zero-based indexes 1 through 4, inclusive)
        PdfDocument chapter = pdf.copyPages(1, 4);

        // Save the extracted page range as a standalone document
        chapter.saveAs(Path.of("chapter-pages-2-to-5.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-page-range.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

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

        // Load a multi-page source PDF
        PdfDocument pdf = PdfDocument.fromFile(Path.of("multi-page-report.pdf"));

        // Extract pages 2 through 5 (zero-based indexes 1 through 4, inclusive)
        PdfDocument chapter = pdf.copyPages(1, 4);

        // Save the extracted page range as a standalone document
        chapter.saveAs(Path.of("chapter-pages-2-to-5.pdf"));
    }
}
JAVA

소스 문서에 요청된 toIndex보다 적은 페이지가 있는 경우 IronPDF는 예외를 발생시킬 것입니다. 페이지 수가 다를 수 있는 문서를 작업할 때 copyPages를 호출하기 전에 pdf.getPageCount()을 확인하세요.

PDF를 두 문서로 나누는 방법은?

splitBy(int splitAfterPageIndex) 메서드는 PDF를 경계에서 나누고 정확히 두 요소를 포함하는 List<PdfDocument>을 반환합니다. 첫 번째 요소는 인덱스 0에서 splitAfterPageIndex(포함)까지의 페이지를 포함합니다. 두 번째 요소는 splitAfterPageIndex + 1에서 문서 끝까지의 나머지 모든 페이지를 포함합니다.

예를 들어, 10페이지 문서에서 splitBy(2)을 호출하면 다음과 같은 결과가 생성됩니다:

  • parts.get(0): 페이지 0, 1, 2(처음 세 페이지)
  • parts.get(1): 페이지 3에서 9(나머지 7페이지)

이 메서드는 표지 시트와 본문을 분리하거나 섹션 구분에서 문서를 나누거나 병렬 처리를 위해 배치 파일을 두 부분으로 자르는 등 특정 경계에서 문서를 나누는 데 적합합니다.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/split-by-boundary.java
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

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

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Split after page index 2 -- first part: pages 0-2, second part: pages 3 to end
        List<PdfDocument> parts = pdf.splitBy(2);

        // Save the first part (pages 0 through 2)
        parts.get(0).saveAs(Path.of("part-one.pdf"));

        // Save the second part (pages 3 through end)
        parts.get(1).saveAs(Path.of("part-two.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/split-by-boundary.java
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

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

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Split after page index 2 -- first part: pages 0-2, second part: pages 3 to end
        List<PdfDocument> parts = pdf.splitBy(2);

        // Save the first part (pages 0 through 2)
        parts.get(0).saveAs(Path.of("part-one.pdf"));

        // Save the second part (pages 3 through end)
        parts.get(1).saveAs(Path.of("part-two.pdf"));
    }
}
JAVA

참고해 주세요splitBy은 항상 정확히 두 개의 요소를 가진 목록을 반환합니다. splitAfterPageIndex가 문서의 마지막 페이지 인덱스와 같은 경우, 두 번째 요소는 빈 문서가 될 것입니다. 분할 지점이 동적으로 계산될 때 pdf.getPageCount() - 1에 대해 분할 경계를 검증하세요.

Java에서 PDF를 분할하는 다음 단계는?

IronPDF의 copyPage, copyPages, splitBy 메서드는 Java에서 필요한 모든 PDF 분할 요구 사항을 다루며, 단일 페이지 추출에서 범위 기반 분할, 경계 기반 분할까지 다룹니다. 각 메서드는 추가 조작이 가능하거나 즉시 저장할 수 있는 독립적인 PdfDocument을 반환합니다.

Java에서 PDF 문서를 계속 작업하려면, 다음 관련 리소스를 탐색하십시오:

체험판을 시작하십시오 Java 워크플로에 PDF 분할 추가하기 위해서. 생산용으로 라이선스를 구매하려면, 라이선싱 옵션 보기를 클릭하세요.

자주 묻는 질문

Java에서 IronPDF로 PDF를 어떻게 분할합니까?

PdfDocument.fromFile()로 PDF를 로드한 후 copyPage(index)로 단일 페이지를 추출하거나, copyPages(from, to)로 범위를 추출하거나, splitBy(index)로 문서를 두 부분으로 나눕니다. 각 결과를 saveAs()로 저장합니다.

copyPage, copyPages 및 splitBy의 차이점은 무엇입니까?

copyPage(index)는 0 기반 인덱스로 단일 페이지를 추출합니다. copyPages(fromIndex, toIndex)는 양 쪽 끝이 포함된 연속적인 범위를 추출합니다. splitBy(index)는 경계에서 문서를 나누고 페이지 0부터 경계 인덱스까지 포함된 두 요소가 있는 List<PdfDocument>를 반환합니다.

IronPDF에서의 페이지 인덱스는 0 기반인가요 1 기반인가요?

IronPDF에서의 페이지 인덱스는 0 기반입니다. 문서의 첫 페이지는 인덱스 0, 두 번째는 인덱스 1입니다. 이는 copyPage, copyPages, splitBy에 적용됩니다.

splitBy가 무엇을 반환합니까?

splitBy(splitAfterPageIndex)는 정확히 두 요소가 있는 List<PdfDocument>를 반환합니다. 첫 번째 요소는 분할 인덱스까지 포함하여 페이지 0부터 분할 인덱스까지 포함된 페이지를 가집니다. 두 번째 요소는 모든 나머지 페이지를 포함합니다. 분할 인덱스가 마지막 페이지인 경우, 두 번째 요소는 빈 문서입니다.

IronPDF로 Java에서 PDF를 분할하는 데 필요한 전제 조건은 무엇입니까?

Java 8 이상, Maven 또는 Gradle 종속성으로 추가된 IronPDF 라이브러리, 그리고 IronPDF 호출 전에 License.setLicenseKey()로 설정된 유효한 라이선스 키가 필요합니다.

Java에서 페이지 2에서 5까지를 PDF에서 어떻게 추출합니까?

pdf.copyPages(1, 4)를 사용하여 페이지 2에서 5까지를 추출합니다. IronPDF는 0 기반 인덱스를 사용하므로 페이지 2는 인덱스 1이며 페이지 5는 인덱스 4입니다. 양쪽 끝이 포함됩니다. 결과를 saveAs()로 저장합니다.

Darrius Serrant
풀스택 소프트웨어 엔지니어 (웹 운영)

다리우스 세런트는 마이애미 대학교에서 컴퓨터 과학 학사 학위를 받았으며, Iron Software에서 풀 스택 웹 운영 마케팅 엔지니어로 근무하고 있습니다. 어린 시절부터 코딩에 매료되었던 그는 컴퓨팅이 신비로우면서도 접근하기 쉬운 분야라고 생각했고, 창의력과 문제 해결 능력을 발휘하기에 완벽한 매체라고 여겼습니다.

Iron Software에서 다리우스는 새로운 것을 만들고 복잡한 개념을 단순화하여 더 쉽게 이해할 수 있도록 하는 것을 즐깁니다. 그는 사내 개발자로서 학생들을 가르치는 데에도 자원하여 차세대 인재들과 전문 지식을 공유하고 있습니다.

다리우스에게 있어 그의 일은 가치 있고 실질적인 영향을 미치기 때문에 보람 있는 일입니다.

시작할 준비 되셨나요?
버전: 2026.6 방금 출시
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요?
샘플을 실행하세요 HTML이 PDF로 변환되는 것을 지켜보세요.