JavaでPDFを分割する方法
JavaでのPDFの分割はIronPDFで簡単です。splitByメソッドを提供し、個別のページを抽出したり、ページ範囲を取得したり、ドキュメントを境界で分割したりできます。 各メソッドは元のドキュメントとは独立して保存する新しいPdfDocumentを返します。
クイックスタート:JavaでPDFを分割
- MavenまたはGradleを介してJava用のIronPDFをインストールする
License.setLicenseKey()でライセンスキーを設定しますPdfDocument.fromFile()を使用してPDFをロードしますcopyPage()を使用して単一のページを抽出します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"));
}
}
プログラム的にドキュメントを生成する際には、PDFの分割が一般的な要求です。 単一ファイルとして生成されたレポートは、配布前に個々のセクションに分割する必要があるかもしれません。 アーカイブワークフローでは、各章や請求書を別々のファイルとして保存する必要があることがあります。特定のページ範囲のみをクライアントに送信するなどの選択的な共有シナリオは、ドキュメント全体を送信するのではなく、正確に必要なページを抽出することで利益を得ます。
IronPDFは、すべての3つの分割パターンをPdfDocumentクラスで一貫したAPIを通じて処理します。 HTMLからPDFを生成するか既存のファイルをロードするために使用されるのと同じクラスが、ページ抽出メソッドを公開しているため、分割は既存のIronPDFワークフローに自然に統合されます。 セットアップと依存関係の構成については、スタートオーバービューを参照してください。
IronPDFのすべてのページインデックスはゼロベースです。 ソースドキュメントが10ページの場合、有効なインデックスは0から9までです。これはsplitByの境界引数に適用されます。 範囲外のインデックスを渡すと、実行時に例外がスローされるため、可変長ドキュメントを扱う際はpdf.getPageCount()に対してページ数を検証してください。
JavaでPDFを分割する方法
- PDFを分割するためにJavaライブラリをインストールする
- PdfDocumentクラスを使用してソースPDFを読み込む
copyPageを使用して単一ページを新しいドキュメントに抽출するcopyPagesを使用してページの範囲を抽出するsplitByを使用して、特定のページ境界でPDFを分割するsaveAsを使用して各生成ドキュメントを保存する
始める前に何が必要ですか?
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>
Gradleプロジェクトの場合、implementation行を追加します。 完全な依存関係と構成の指示は、スタートオーバービューで利用可能です。
有効なライセンスキーが必要です。 アプリケーションの起動時に設定し、IronPDFメソッドを呼び出す前に行います:
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
ライセンスオプションとトライアルキーについては、ライセンスキーガイドを訪れてください。
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"));
}
}
返されるPdfDocumentはソースとは完全に独立しています。 さらなる変換を適用したり、注釈を追加したり、保存する前に他のドキュメントと結合したりできます。
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"));
}
}
ソースドキュメントが要求された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"));
}
}
splitByは常に正確に2つの要素を含むリストを返します。 splitAfterPageIndexがドキュメントの最後のページインデックスと等しい場合、2番目の要素は空のドキュメントになります。 分割境界が動的に計算される場合は、pdf.getPageCount() - 1に対して検証します。)]
JavaでのPDF分割の次のステップは何ですか?
IronPDFのsplitByメソッドは、単一ページ抽出から範囲を基にした分割、境界に基づく分割まで、JavaでのPDF分割要件を完全にカバーします。 各メソッドはさらなる操作や即時保存の準備ができている独立したPdfDocumentを返します。
JavaでPDFドキュメントを引き続き操作するために、これらの関連リソースを探索してください。
- JavaでPDFをマージ:複数のPDFファイルまたは抽出されたパーツを単一のドキュメントに結合します
- JavaでPDFページを削除:残りを抽出せずに既存のPDFから不要なページを削除します
- JavaでPDFを圧縮:分割ドキュメントのファイルサイズをストレージまたは転送前に削減します
- Java PDFチュートリアル:一般的なPDFワークフローの完全なエンドツーエンドの例
- IronPDF for Javaの例:IronPDF Java APIの完全なコードサンプルをコピー貼り付け
無料トライアルを開始して、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です。これはcopyPage、copyPages、splitByに適用されます。
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()で結果を保存してください。


