チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Java»Spire.PDF for Java»ページの設定»Java:PDF のページを分割する方法
2023-04-13

Java:PDF のページを分割する方法

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();
    }
}

Java:PDF のページを分割する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 723 times