IRONSOFTWAREHOME

Java에서 PDF에서 페이지 삭제하는 방법

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

Java에서 PDF 페이지를 제거하는 것은 IronPDF로 간단합니다. 이 라이브러리는 removePage 및 removePages 메서드를 제공하여 PageSelection를 통해 어느 페이지를 삭제할지 정확하게 제어할 수 있습니다. 단일 페이지든, 연속된 범위든, 흩어진 페이지 인덱스 세트든 상관없이 다룹니다. IronPDF의 모든 페이지 인덱스는 0부터 시작하여, 문서의 첫 페이지는 항상 인덱스 0입니다.

빠른 시작: Java에서 PDF 페이지 삭제
  1. IronPDF for Java를 Maven 또는 Gradle을 통해 설치하세요
  2. License.setLicenseKey()로 라이선스 키를 설정하세요.
  3. PdfDocument.fromFile()로 PDF를 로드하세요.
  4. removePage()로 단일 페이지를 제거하세요.
  5. saveAs()로 결과를 저장하세요.
  1. 1Install IronPDF with Maven Central Repository

    > mvn install

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

    //:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-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"));
    
            // Remove the first page (zero-based index 0)
            pdf.removePage(0);
    
            // Save the modified PDF to a new file
            pdf.saveAs(Path.of("modified.pdf"));
        }
    }
    Java
  3. 3실제 운영 환경에서 테스트할 수 있도록 배포하세요.

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

PDF에서 페이지를 제거하는 것은 일반적인 문서 처리 작업입니다. 보고서를 배포하기 전에 표지 페이지를 제거하거나, 문서를 외부로 공유하기 전에 기밀 섹션을 삭제하거나, 스캐너나 템플릿에서 도입된 빈 페이지를 정리해야 할 수 있습니다. IronPDF는 호스트 기계에 대한 네이티브 PDF 편집 도구가 필요 없이 일관된 Java API를 통해 이 모든 사례를 처리합니다.

이 라이브러리는 Maven 또는 Gradle을 통해 Java 응용 프로그램에 통합되며 페이지 제거를 넘어 PDF 조작 작업의 전체 범위를 지원합니다, PDF 병합, 문서 분할, 워터마크 추가를 포함하여. 설정 및 사용 가능한 기능에 대한 전체 개요를 보려면 시작 개요를 방문하세요.

이 가이드의 예제는 세 가지 시나리오를 다룹니다: 인덱스별로 단일 페이지 제거, PageSelection를 사용하여 연속된 페이지 범위 제거, 그리고 인덱스 이동 오류를 유발하지 않고 여러 비연속 페이지를 안전하게 제거합니다.

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

PDF에서 페이지를 제거하기 전에 IronPDF가 Java 프로젝트에 구성되어 있는지 확인하세요. 라이브러리는 Java 8 이상이 필요하며, Maven 또는 Gradle을 통해 통합됩니다. 프로젝트 빌드 파일에 IronPdf 종속성을 추가하세요. 전체 설정 지침은 Get Started Overview를 참조하세요.

개발 및 생산 사용 모두에 유효한 라이선스 키가 필요합니다. 애플리케이션의 시작 부분에서 IronPDF 메소드를 호출하기 전에 키를 설정하세요. 라이선스 옵션에 대한 자세한 내용은 라이선스 키 가이드를 방문하세요.

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

PDF에서 단일 페이지를 삭제하는 방법은 무엇입니까?

removePage(int pageIndex) 메서드는 0부터 시작하는 페이지 인덱스를 받아서 문서에서 해당 페이지를 정확히 제거합니다. 호출이 완료되면 모든 후속 페이지는 한 위치씩 아래로 이동하므로 호출 전에 캐시한 인덱스가 더 이상 동일한 페이지를 가리킬 수 없습니다.

예를 들어, 문서에 다섯 페이지(인덱스 0에서 4까지)가 있는 경우 인덱스 2를 제거하면 인덱스 3에 있던 페이지가 이제 인덱스 2에, 인덱스 4에 있던 페이지가 이제 인덱스 3에 있게 됩니다. removePage를 연속해서 여러 번 호출할 때는 이 이동을 염두에 두고 제거 순서를 계획하세요.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/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("report.pdf"));

        // Remove the cover page at index 0 (the first page)
        pdf.removePage(0);

        // Save the modified PDF -- the original file is not overwritten
        pdf.saveAs(Path.of("report-no-cover.pdf"));
    }
}
Java

이 패턴은 삭제할 정확한 페이지를 알고 단 하나만 제거해야 할 때 가장 간단한 접근 방식입니다. 단일 작업으로 연속된 페이지의 범위를 제거하려면 removePages와 PageSelection 범위를 사용하세요.

PDF에서 여러 페이지 범위를 삭제하는 방법은 무엇입니까?

removePages(PageSelection) 메서드는 주어진 선택에서 단일 원자적 작업으로 모든 페이지를 삭제하여 @ @--CODE-543--@@를 여러 번 호출할 때 발생하는 인덱스 이동 문제를 피합니다. 범위를 지정하려면 PageSelection.pageRange(int fromIndex, int toIndex)를 사용하세요. 양 끝점이 포함되어 있으며 0부터 시작합니다.

아래 예제는 fromIndex = 2와 toIndex = 4를 전달하여 문서의 3, 4, 5 페이지를 제거합니다. 모든 세 페이지가 한 번에 제거되므로 작업 중간에 인덱스 이동이 발생하지 않습니다.

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

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 PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("annual-report.pdf"));

        // Remove pages 3, 4, and 5 using a zero-based inclusive range (indexes 2 to 4)
        pdf.removePages(PageSelection.pageRange(2, 4));

        // Save the result to a new file
        pdf.saveAs(Path.of("annual-report-trimmed.pdf"));
    }
}
Java

PageSelection.pageRange는 연속된 페이지 블록을 제거할 때 선호되는 접근 방식입니다. 이는 개별 removePage 호출을 루핑하는 것보다 더 깔끔하고 효율적이며, 단일 작업 의미로 인해 페이지 수가 한 번만 업데이트됩니다.

여러 비인접 페이지를 삭제하는 방법은 무엇입니까?

서로 인접하지 않은 페이지를 제거해야 할 때는 실용적 옵션이 두 가지 있습니다: 개별 인덱스를 대상으로 하는 PageSelection와 함께 removePages를 사용하거나, 주의 깊게 순서를 정하여 removePage를 여러 번 호출하세요.

removePage를 여러 번 호출하는 경우 항상 인덱스가 가장 높은 곳에서 가장 낮은 곳으로 작업하세요. 낮은 인덱스 페이지를 먼저 제거하면 모든 상위 인덱스가 하나씩 아래로 이동하여 후속 호출이 잘못된 페이지를 대상으로 할 수 있습니다. 문서의 끝에서 시작하여 역방향으로 작업하면 각 제거가 남은 낮은 인덱스를 방해하지 않습니다.

아래 예제는 여섯 페이지 문서의 첫 페이지, 중간 페이지, 마지막 페이지를 제거합니다. 호출은 인덱스 드리프트를 방지하기 위해 가장 높은 인덱스에서 가장 낮은 인덱스 순으로 정렬됩니다 -- 5, 3, 0.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/non-consecutive-pages.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 six-page PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("contract.pdf"));

        // Remove non-consecutive pages: always work from highest index to lowest
        // to prevent index shifting from affecting subsequent removals.

        // Remove the last page (index 5 in a six-page document)
        pdf.removePage(5);

        // Remove a page in the middle (index 3 -- now safe because no lower index has shifted)
        pdf.removePage(3);

        // Remove the first page (index 0 -- lowest, so processed last)
        pdf.removePage(0);

        // Save the modified PDF
        pdf.saveAs(Path.of("contract-redacted.pdf"));
    }
}
Java
참고해 주세요: 런타임 시 제거할 페이지 인덱스 목록을 작성할 때 -- 예를 들어 사용자 입력 또는 구성 파일에서 -- 반복하기 전에 목록을 내림차순으로 정렬하세요. 이를 통해 이미 제거된 페이지 수에 관계없이 각 removePage 호출은 올바른 페이지를 정확히 대상으로 합니다.

제거할 페이지 집합이 동적으로 결정된다면, 인덱스 목록을 역순으로 정렬하고 반복하는 간결한 패턴이 있습니다:

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/dynamic-removal.java
import java.io.IOException;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.Comparator;
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 PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("document.pdf"));

        // Define the zero-based page indexes to remove
        List<Integer> pagesToRemove = Arrays.asList(0, 3, 5);

        // Sort descending to avoid index-shift errors during sequential removal
        pagesToRemove.sort(Comparator.reverseOrder());

        // Remove each page in reverse-index order
        for (int pageIndex : pagesToRemove) {
            pdf.removePage(pageIndex);
        }

        // Save the modified PDF
        pdf.saveAs(Path.of("document-pages-removed.pdf"));
    }
}
Java

반복 전에 인덱스 목록을 내림차순으로 정렬하는 것은 타겟 페이지 수나 입력 목록이 정렬된 방식과 관계없이 작동하는 안전하고 범용적인 패턴입니다.

Java에서 PDF 페이지를 삭제하는 다음 단계는 무엇입니까?

IronPDF의 removePage 및 removePages 메서드는 페이지 삭제에 대한 구체적인 제어 기능을 제공합니다. 단일 페이지를 제거하든, 범위를 제거하든, 흩어진 페이지 세트를 제거하든 관계없이 다룹니다. 0부터 시작하는 인덱싱 모델은 전체 IronPDF Java API에서 일관성을 유지하므로 페이지 분할, 병합, 재정렬로 이동할 때 동일한 규칙이 적용됩니다.

PDF 페이지 구조 및 문서 조작 작업을 계속하려면 다음 관련 리소스를 탐색하십시오:

무료 체험판 시작을 통해 Java 워크플로에서 PDF의 페이지를 제거하세요. 생산용으로 라이선스를 구매하려면, 라이선싱 옵션 보기를 클릭하세요.

자주 묻는 질문

Java에서 PDF에서 단일 페이지를 어떻게 삭제하나요?

PDF를 PdfDocument.fromFile()로 로드한 후 pdf.removePage(pageIndex)를 호출합니다. 예를 들어, pdf.removePage(0)는 첫 페이지를 제거합니다. 결과를 pdf.saveAs()로 저장합니다.

Java에서 PDF의 페이지 범위를 어떻게 삭제합니까?

pdf.removePages(PageSelection.pageRange(fromIndex, toIndex))를 호출하십시오. from과 to 인덱스는 모두 0부터 시작하여 포함됩니다. 예를 들어 PageSelection.pageRange(2, 4)은 문서의 세 번째, 네 번째, 다섯 번째 페이지를 단일 원자적 작업으로 제거합니다.

페이지를 최고 인덱스에서 최저 인덱스로 제거해야 하는 이유는 무엇입니까?

removePage를 여러 번 호출하면, 각 제거가 모든 이후 페이지 인덱스를 하나씩 낮춥니다. 최고 인덱스에서 최저 인덱스로 제거하면 각 호출이 올바른 페이지를 대상으로 하며, 낮은 인덱스가 아직 제거되지 않아 인덱스 이동이 발생하지 않도록 합니다.

IronPDF Java에서 PageSelection이란 무엇입니까?

PageSelection은 어떤 메소드가 적용될 페이지를 정의하는 com.ironsoftware.ironpdf.edit 패키지의 클래스입니다. PageSelection.pageRange(fromIndex, toIndex)는 removePages와 함께 사용할 수 있는 연속적인 0 기반 포함 페이지 인덱스 블록을 만드는 선택을 생성합니다.

Java에서 IronPDF로 PDF 페이지를 삭제하기 위한 전제 조건은 무엇입니까?

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

removePage가 원본 PDF 파일을 수정합니까?

아니요. removePage와 removePages는 메모리에 있는 PdfDocument 객체를 수정합니다. 디스크의 원본 파일은 pdf.saveAs(Path.of("output.pdf"))를 호출하여 수정된 문서를 새 경로에 쓸 때까지 변경되지 않습니다.

How can I handle index-shift errors when removing PDF pages in IronPDF?

Avoid index-shift errors by sorting the page indexes in descending order before removal and processing from the highest to lowest index, or use the `removePages` method for contiguous page ranges.

How do you save a PDF after removing pages with IronPDF in Java?

After removing pages, save the modified PDF using the `saveAs(Path path)` method, specifying the file path for the new PDF.

What methods does IronPDF provide for PDF page manipulation beyond deletion?

IronPDF offers methods for merging, splitting, and adding watermarks to PDF documents, in addition to page deletion, all accessible through its Java API.

Where can I find additional IronPDF Java examples for PDF manipulation?

Visit the IronPDF for Java examples page for copy-paste code samples and an overview of the full API, including document manipulation capabilities beyond page deletion.

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% 무제한 이용. 신용카드 불필요.

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

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

Iron Software의 고객 로고
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 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

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