IRONSOFTWAREHOME

JavaでPDFからページを削除する方法

Curtis Chau
Curtis Chau
Updated: 2026年6月16日

IronPDF では、Java で PDF ページを削除するのは単純です:ライブラリは removePage と removePages メソッドを公開しており、PageSelection バックのため、削除するページを正確に制御できます -- それが1ページか、連続する範囲か、分散したページインデックスのセットであるかに関わらず。 IronPDFのすべてのページインデックスはゼロベースであるため、文書の最初のページは常にインデックス0です。

クイックスタート: JavaでPDFページを削除
  1. MavenまたはGradleを介してJava用のIronPDFをインストールする
  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の結合、文書の分割、およびウォーターマークの追加も含まれます。 セットアップと利用可能な機能の完全な概要については、Get Started Overviewをご覧ください。

このガイドの例では、3つのシナリオをカバーしています:インデックスで単一ページを削除する、PageSelection を使用して連続したページ範囲を削除する、インデックスシフトエラーを引き起こさずに複数の非連続ページを安全に削除する。

始める前に何が必要ですか?

PDFからページを削除する前に、IronPDFがJavaプロジェクトに構成されていることを確認してください。 このライブラリはJava 8以上を必要とし、MavenまたはGradleで統合されます。 プロジェクトビルドファイルに IronPdf 依存性を追加してください。完全なセットアップ手順については、Get Started Overview を参照してください。

開発および本番利用には有効なライセンスキーが必要です。 アプリケーションの開始時にIronPDFメソッドを呼び出す前にキーを設定します。 ライセンスオプションの詳細については、ライセンスキーガイドをご覧ください。

ヒント: IronPDFのすべてのページインデックスはゼロベースの番号を使用します。 ドキュメントのページ1はインデックス0、ページ2はインデックス1と続きます。

PDFから単一のページを削除する方法は?

removePage(int pageIndex) メソッドはゼロベースのページインデックスを受け入れ、書類から正確にそのページを削除します。 呼び出しが完了すると、その後のすべてのページが1つ下にシフトするため、呼び出し前にキャッシュしたインデックスが同じページを指さない可能性があります。

例えば、5ページ (インデックス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

これはどのページを削除するか正確に知っていて、1つだけ削除すればよい場合に最も簡単なアプローチです。 単一操作で連続したページ範囲を削除するには、removePages を PageSelection 範囲とともに使用してください。

PDFからページの範囲を削除する方法は?

removePages(PageSelection) メソッドは与えられた選択でカバーされるすべてのページを単一のアトミック操作で削除し、removePage を複数回呼び出すと生じるインデックスシフトの問題を回避します。 範囲を指定するには PageSelection.pageRange(int fromIndex, int toIndex) を使用します -- 両方のエンドポイントはゼロベースで包括的です。

以下の例では、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 は好ましいアプローチです。 各@--CODE-608--@@ 呼び出しをループするよりもクリーンで効率的であり、単一の操作セマンティクスによりページ数は一度だけ更新されます。

複数の非連続ページを削除する方法は?

互いに隣接していないページを削除する必要がある場合には、PageSelection をターゲットとする removePages を使用するか、removePage を注意深く順序付けられたシーケンス内で複数回呼び出す2つの実用的なオプションがあります。

複数回 removePage を呼び出す場合は、常に最大のインデックスから最小のインデックスまでの順に作業してください。低インデックスのページを最初に削除すると、より高いインデックスがすべて一つ下がり、後続の呼び出しが誤ったページをターゲットにしてしまう原因となります。 ドキュメントの終わりから逆方向に作業を開始することで、各削除が残りの低インデックスを乱さないままにします。

以下の例では、6ページのドキュメントから最初のページ、中間のページ、最後のページを削除します。 呼び出しはインデックスが高い方から低い方へと並んでおり(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
ご注意: 実行時に削除するページインデックスのリストを構築する際 - 例えば、ユーザー入力や設定ファイルから - の場合は、イテレーションする前にリストを降順に並べ替えます。 これにより、@--CODE-613--@@ 呼び出しが、すでに削除されたページ数に関係なく正しいページをターゲットにすることを保証します。

削除するページのセットが動的に決定される場合、逆順にインデックスリストをソートしてループするのが簡潔なパターンです。

//: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 メソッドは、ページ削除を細かく制御でき、単一のページを削除する必要がある場合、範囲を削除する場合、または分散した複数のページを削除する場合に役立ちます。 ゼロベースのインデックスモデルは、完全なIronPDF Java APIにわたって一貫しているため、ページの分割、統合、再注文に進む際も同じ慣習が適用されます。

PDFページ構造およびドキュメント操作を続行するには、これらの関連リソースを調査してください:

無料トライアルを開始して、JavaワークフローでのPDFからページを削除します。 生産用途のライセンスを購入するには、ライセンスオプションを表示してください。

よくある質問

JavaでPDFから単一ページを削除するにはどうすればいいですか?

PdfDocument.fromFile()でPDFをロードし、ゼロベースインデックスを使用してpdf.removePage(pageIndex)を呼び出します。例えば、pdf.removePage(0)は最初のページを削除します。pdf.saveAs()で結果を保存します。

JavaでPDFからページ範囲を削除するにはどうすればいいですか?

pdf.removePages(PageSelection.pageRange(fromIndex, toIndex))を呼び出します。fromとtoのインデックスはゼロベースでインクルーシブです。例えば、PageSelection.pageRange(2, 4)はドキュメントの3, 4, 5番目のページを単一のアトミック操作で削除します。

なぜインデックスが高い順から低い順にページを削除する必要があるのでしょうか?

removePageを複数回呼び出す際、各削除はその後のすべてのページインデックスを1つ下げます。高いインデックスから低いインデックスへ削除することで、シフトによって目的のページを削除し損ねることを防ぎます。

IronPDF JavaでのPageSelectionとは?

PageSelectionはcom.ironsoftware.ironpdf.editパッケージ内のクラスで、どのページをメソッドが対象とするべきかを定義します。PageSelection.pageRange(fromIndex, toIndex)はremovePagesで使用するための、ゼロベースで両端を含む連続したページインデックスの選択を作成します。

JavaでIronPDFを使用してPDFページを削除するための前提条件は何ですか?

Java 8以上、MavenまたはGradleの依存関係として追加されたIronPDFライブラリ、および任意のIronPDF呼び出しの前に設定された有効なライセンスキーが必要です。ネイティブの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
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

準備はできましたか?

バージョン:2026.6リリースされたばかり

あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDFのため for 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
Java PDF JAR
JAR をダウンロード

バージョン: 2026.6

Manually install into your project

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

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDFのため for 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
Java PDF JAR
JAR をダウンロード

バージョン: 2026.6

Manually install into your project