PDF の1ページの内容を分離して表示、分離印刷などの操作を行う必要がある場合、内容の再編集が面倒になることがあります。 このような場合、1つのページを直接複数のページに分割することで、表示や印刷などの操作を容易にすることができます。 今回は、Spire.PDF for Java を使用して、PDF ドキュメントのページを分割する方法を紹介します。 Spire.PDF for Java をインストールします まず、Spire.PDF for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。 <repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url> https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.pdf</artifactId> <version>9.3.11</version> </dependency> </dependencies> PDF のページを複数ページに分割する Spire.PDF for Java では、PDF ページの内容を新しい PDF ページに描画するための PdfPageBase.createTemplate().draw() メソッドを提供しています。 このメソッドを使って、元のページの内容を複数ページに分けて描画することで、PDF ページを分割する目的を達成することができます。 以下は、PDF ページを3ページに分割する、詳細な操作手順です。 PdfDocument のオブジェクトを作成します。 PdfDocument.loadFromFile() メソッドを使用して、PDF ドキュメントを読み込みます。 PdfDocument.getPages().get() メソッドを使用して、指定されたページを取得します。 新しい PDF ドキュメントを作成し、その余白を0に設定します。 新しい PDF ドキュメントのページサイズを、元の PDF ドキュメントのページサイズの1/3に設定します。 PdfDocument.getPages().add() メソッドを使用して、新しい PDF ドキュメントにページを追加します。 PdfPageBase.createTemplate().draw() メソッドを使用して、元の PDF ページの内容を新しいページ上に描画します。 PdfDocument.saveToFile() メソッドを使用して、ドキュメントを保存します。 Java import com.spire.pdf.*; import com.spire.pdf.graphics.*; import java.awt.geom.Point2D; public class splitPDFPage { public static void main(String[] args) { //PdfDocumentのオブジェクトを作成する PdfDocument pdf = new PdfDocument(); //PDFドキュメントを読み込む pdf.loadFromFile("C:/4月.pdf"); //PDFドキュメントの最初のページを取得する PdfPageBase page = pdf.getPages().get(0); //新規にPDFドキュメントを作成し、余白を削除する PdfDocument newPdf = new PdfDocument(); newPdf.getPageSettings().getMargins().setAll(0); //水平分割 newPdf.getPageSettings().setWidth((float) page.getSize().getWidth()); newPdf.getPageSettings().setHeight((float) page.getSize().getHeight()/3); //垂直分割 //newPdf.getPageSettings().setWidth((float) page.getSize().getWidth()/2); //newPdf.getPageSettings().setHeight((float) page.getSize().getHeight()); //新規作成したPDFドキュメントにページを追加する PdfPageBase newPage = newPdf.getPages().add(); //PdfLayoutTypeの設定をPaginateにすることで、コンテンツが自動的にページングされるようになる PdfTextLayout layout = new PdfTextLayout(); layout.setBreak(PdfLayoutBreakType.Fit_Page); layout.setLayout(PdfLayoutType.Paginate); //元のページの内容を新しいドキュメントページにプロットする page.createTemplate().draw(newPage, new Point2D.Float(0, 0), layout); //ドキュメントを保存する newPdf.saveToFile("PDFページの分割.pdf"); newPdf.close(); } } 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。