ホームページ  >  記事  >  Java  >  Java で PDF ドキュメントにページ番号を追加する方法

Java で PDF ドキュメントにページ番号を追加する方法

PHPz
PHPz転載
2023-04-30 10:58:061097ブラウズ

コードコンパイル環境

IntelliJ IDEA 2019 (jdk 1.8.0)

PDF Jarパッケージ: Free Spire.PDF for Java 5.1.0

導入jarパッケージ

インポート方法 1:

マニュアルの導入。 Free Spire.PDF for Java をローカルにダウンロードして解凍し、lib フォルダーで Spire.PDF.jar ファイルを見つけます。 IDEA で次のインターフェイスを開き、ローカル パスにある jar ファイルを Java プログラムに導入します。

Java で PDF ドキュメントにページ番号を追加する方法

インポート方法 2: Maven 経由でインストールする場合は、次のようにインストールできます。 pom.xml に次のコードを追加して、JAR ファイルをインポートします。

<repositories>

        <repository>

            <id>com.e-iceblue</id>

            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>

        </repository>

    </repositories>

<dependencies>

    <dependency>

        <groupId>e-iceblue</groupId>

        <artifactId>spire.pdf.free</artifactId>

        <version>5.1.0</version>

    </dependency>

</dependencies>

PDF ドキュメントにページ番号を追加する

次の手順は、既存の PDF ドキュメントに「ページ X/Y」のようなページ番号を追加する方法を示しています。

  • PdfDocumentクラスのオブジェクトを作成します。

  • PdfDocument.loadFromFile() メソッドを使用して PDF ドキュメントを読み込みます。

  • PdfPageNumberField クラスのオブジェクトを作成します。

  • PdfPageCountField クラスのオブジェクトを作成します。

  • PdfCompositeField クラスのオブジェクトを作成します。

  • PdfCompositeField.setStringFormat() メソッドを使用して、複合フィールドのテキスト配置を設定します。

  • PDF ドキュメントの各ページをループし、PdfCompositeField.draw() メソッドを使用して、ページ上の特定の場所に複合フィールドを描画します。

  • PdfDocument.saveToFile() メソッドを使用して、結果のドキュメントを保存します。

完全なコード

Java

import com.spire.pdf.*;
import com.spire.pdf.automaticfields.PdfCompositeField;
import com.spire.pdf.automaticfields.PdfPageCountField;
import com.spire.pdf.automaticfields.PdfPageNumberField;
import com.spire.pdf.graphics.*;

import java.awt.*;

public class addPageNumber {
    public static void main(String[] args) {

        //创建 PdfDocument 类的对象
        PdfDocument pdf = new PdfDocument();
        //载入PDF文档
        pdf.loadFromFile("九寨沟简介 .pdf");

        //创建 PdfTrueTypeFont 类的对象
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("华文中宋", Font.PLAIN, 10));

        //创建 PdfPageNumberField 类的对象
        PdfPageNumberField pageNumberField = new PdfPageNumberField(font, PdfBrushes.getBlack());

        //创建 PdfPageCountField 类的对象
        PdfPageCountField pageCountField = new PdfPageCountField(font, PdfBrushes.getBlack());

        //创建一个 PdfCompositeField 类的对象,将页码字段和页数字段添加到复合字段
        PdfCompositeField compositeField = new PdfCompositeField(font, PdfBrushes.getBlack(), "第{0}页/共{1}页", pageNumberField, pageCountField);

        //设置复合字段的文字格式
        compositeField.setStringFormat(new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Top));

        //循环遍历文档中的页面
        for(int i = 0; i < pdf.getPages().getCount();i ++)
        {
            PdfPageBase page = pdf.getPages().get(i);
            float x = (float) page.getSize().getWidth()/2 - 20;
            float y = (float)page.getSize().getHeight() - pdf.getPageSettings().getMargins().getBottom();
            //将复合字段描绘于每个页面上
            compositeField.draw(page.getCanvas(), x, y);
        }

        //保存结果文档
        pdf.saveToFile("添加页码.pdf");
    }
}

レンダリング

Java で PDF ドキュメントにページ番号を追加する方法

以上がJava で PDF ドキュメントにページ番号を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。