JavaでPDFを分割する方法

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

JavaでのPDFの分割はIronPDFで簡単です。splitByメソッドを提供し、個別のページを抽出したり、ページ範囲を取得したり、ドキュメントを境界で分割したりできます。 各メソッドは元のドキュメントとは独立して保存する新しいPdfDocumentを返します。

クイックスタート:JavaでPDFを分割

  1. MavenまたはGradleを介してJava用のIronPDFをインストールする
  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は、すべての3つの分割パターンをPdfDocumentクラスで一貫したAPIを通じて処理します。 HTMLからPDFを生成するか既存のファイルをロードするために使用されるのと同じクラスが、ページ抽出メソッドを公開しているため、分割は既存のIronPDFワークフローに自然に統合されます。 セットアップと依存関係の構成については、スタートオーバービューを参照してください。

IronPDFのすべてのページインデックスはゼロベースです。 ソースドキュメントが10ページの場合、有効なインデックスは0から9までです。これは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プロジェクトの場合、implementation行を追加します。 完全な依存関係と構成の指示は、スタートオーバービューで利用可能です。

有効なライセンスキーが必要です。 アプリケーションの起動時に設定し、IronPDFメソッドを呼び出す前に行います:

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

ライセンスオプションとトライアルキーについては、ライセンスキーガイドを訪れてください。

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

PDFから単一ページを抽出するにはどうすればよいですか?

PdfDocumentとして返します。 元のドキュメントは変更されません。 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

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からページ範囲を抽出するにはどうすればよいですか?

PdfDocumentとして返します。 toIndexはどちらもゼロベースで包含的です: 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は例外をスローします。 ページ数が変動する可能性のあるドキュメントを扱う際は、pdf.getPageCount()を確認してください。

PDFを2つのドキュメントに分割するにはどうすればよいですか?

List<PdfDocument>を返します。 最初の要素にはインデックス0からsplitAfterPageIndex(含まれる)までのページが含まれます。 2番目の要素にはsplitAfterPageIndex + 1からドキュメントの終わりまでの残りのすべてのページが含まれます。

例えば、10ページのドキュメントでsplitBy(2)を呼び出すと、次のようになります:

  • parts.get(0):ページ0、1、2(最初の3ページ)
  • parts.get(1):ページ3から9(残りの7ページ)

このメソッドは、既知の境界でドキュメントを分割するのに適しています:表紙を本文から分離したり、セクションブレイクでドキュメントを分割したり、並列処理のためにバッチファイルを2つに分けたりします。

//: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は常に正確に2つの要素を含むリストを返します。 splitAfterPageIndexがドキュメントの最後のページインデックスと等しい場合、2番目の要素は空のドキュメントになります。 分割境界が動的に計算される場合は、pdf.getPageCount() - 1に対して検証します。)]

JavaでのPDF分割の次のステップは何ですか?

IronPDFのsplitByメソッドは、単一ページ抽出から範囲を基にした分割、境界に基づく分割まで、JavaでのPDF分割要件を完全にカバーします。 各メソッドはさらなる操作や即時保存の準備ができている独立したPdfDocumentを返します。

JavaでPDFドキュメントを引き続き操作するために、これらの関連リソースを探索してください。

無料トライアルを開始して、JavaのワークフローにPDF分割を追加してください。 生産用途のライセンスを購入するには、ライセンスオプションを表示してください。

よくある質問

JavaでIronPDFを使ってPDFを分割するにはどうすればよいですか?

PdfDocument.fromFile()を使ってPDFをロードし、copyPage(index)で単一ページを抽出し、copyPages(from, to)で範囲を抽出するか、splitBy(index)でドキュメントを2つの部分に分割します。各結果をsaveAs()で保存してください。

copyPage、copyPages、splitByの違いは何ですか?

copyPage(index)は、ゼロベースのインデックスによって単一のページを抽出します。copyPages(fromIndex, toIndex)は、両端を含む連続する範囲を抽出します。splitBy(index)は、境界でドキュメントを分割し、2つの要素を持つList<PdfDocument>を返します: 境界インデックスまでのページ0および残りのすべてのページ。

IronPDFでのページインデックスはゼロベースかワンベースか?

IronPDFでのページインデックスはゼロベースです。ドキュメントの最初のページはインデックス0、2番目はインデックス1です。これはcopyPagecopyPagessplitByに適用されます。

splitByは何を返しますか?

splitBy(splitAfterPageIndex)は、正確に2つの要素を持つList<PdfDocument>を返します。最初の要素には、0ページから分割インデックスまでのページ(インクルーシブ)が含まれます。2番目の要素には、残りのすべてのページが含まれます。分割インデックスが最後のページの場合、2番目の要素は空のドキュメントになります。

IronPDF for Javaを使用してPDFを分割するための前提条件は何ですか。

Java 8以上、MavenまたはGradle依存関係として追加されたIronPDFライブラリ、そして任意のIronPDF呼び出しの前にLicense.setLicenseKey()で設定された有効なライセンスキーが必要です。

JavaでPDFから2ページ目から5ページ目までを抽出する方法は?

pdf.copyPages(1, 4) を使用して、ページ2から5を抽出してください。IronPDFではゼロベースのインデックスが使用されているため、ページ2はインデックス1で、ページ5はインデックス4です。両方の境界は含まれます。saveAs()で結果を保存してください。

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

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

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

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

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

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

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