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

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

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

クイックスタート: JavaでPDFページを削除

  1. MavenまたはGradleを介してJava用のIronPDFをインストールする
  2. License.setLicenseKey() でライセンスキーを設定します
  3. PdfDocument.fromFile() でPDFをロードします
  4. 単一ページを removePage() で削除します
  5. 結果を saveAs() で保存します
 :title=Quickstart
//: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"));
    }
}
 :title=Quickstart
//: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

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"));
    }
}
//: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つだけ削除すればよい場合に最も簡単なアプローチです。 単一操作で連続したページ範囲を削除するには、removePagesPageSelection 範囲とともに使用してください。

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

私のお気に入りのこの種のライブラリはIronPDFです。PDFファイルの迅速で効率的な操作が可能です。また、PDF/A形式へのエクスポートやPDF文書へのデジタル署名といった多くの貴重な機能も備えています。

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

Milan Jovanovic

Microsoft MVP

ケーススタディを見る
Icon Quote related to PDFから単一のページを削除する方法は?

IronOCRのおかげで私たちは年間$40,000を手作業の処理から節約し、生産性を向上させ、高影響のタスクにリソースを充てることができます。非常にお勧めします。

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

Brent Matzelle

最高技術責任者, OPYN

ケーススタディを見る
Icon Quote related to PDFから単一のページを削除する方法は?

IronSuiteは私たちの業務において重要な役割を果たしています。これらは、フロアプランの作成や在庫管理の改善を含め、ビジネス全体の効率を向上させるツールです。

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

David Jones

リードソフトウェアエンジニア、Agorus Build

ケーススタディを見る

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"));
    }
}
//: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"));
    }
}
//: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"));
    }
}
//: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 の removePageremovePages メソッドは、ページ削除を細かく制御でき、単一のページを削除する必要がある場合、範囲を削除する場合、または分散した複数のページを削除する場合に役立ちます。 ゼロベースのインデックスモデルは、完全な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とは?

PageSelectioncom.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"))を呼び出して変更されたドキュメントを新しいパスに書き込むまで変更されません。

Darrius Serrant
フルスタックソフトウェアエンジニア(WebOps)

Darrius Serrantは、マイアミ大学でコンピュータサイエンスの学士号を取得し、Iron SoftwareでフルスタックWebOpsマーケティングエンジニアとして働いています。若い頃からコーディングに惹かれ、コンピューティングを神秘的かつアクセス可能なものとし、創造性と問題解決のための完璧な媒体と考えていました。

Iron Softwareでは、新しいものを創造することと、複雑なコンセプトをより理解しやすくすることを楽しんでいます。Resident Developerの一人として、次世代に専門知識を共有するために、学生を教えることにも志願しました。

Darriusにとって、その仕事は価値があり、実際の影響があるため、満足感があります。

準備はできましたか?
バージョン: 2026.6 リリースされたばかり
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか?
サンプルを実行するHTML が PDF に変換されるのを確認します。