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 日間有効な一時ライセンスを取得してください。