Javaが既存のPDFドキュメントにページ番号を追加する
日常業務では、PDF文書の読み取り、検索、管理を容易にするために、PDF文書にページ番号を追加する必要があることがよくあります。 そこで、Free Spire.PDF for Javaを使用して、JavaプログラムでPDF文書にページ番号をすばやく追加する方法を紹介します。
基本的な手順:
1. Free Spire.PDF for Javaパッケージをダウンロードして解凍します。
2. libフォルダーのSpire.Pdf.jarパッケージを依存関係としてJavaアプリケーションにインポートします。(Mavenリポジトリから直接JARパッケージをインストールすることもできます(pom.xmlファイルを構成するコードについては、以下を参照してください))。。
3. Javaアプリケーションで、新しいJava Class(ここではAddPageNumbersという名前)を作成し、対応するJavaコードを入力して実行します。
pom.xmlファイルを構成します:
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf.free</artifactId>
<version>2.6.3</version>
</dependency>
</dependencies>
Javaコード例:
import com.spire.pdf.PdfDocument;
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.*;
import java.awt.geom.Dimension2D;
import java.awt.geom.Rectangle2D;
public class AddPageNumbers {
public static void main(String[] args) {
//PDFドキュメントをロード
PdfDocument doc = new PdfDocument();
doc.loadFromFile("file1.pdf");
//フォントを作成
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("宋体", Font.PLAIN, 10),true);
//ページサイズを取得する
Dimension2D pageSize = doc.getPages().get(0).getSize();
//y座標を初期化する
float y = (float) pageSize.getHeight() - 40;
//ドキュメントのページを反復処理します
for (int i = 0; i < doc.getPages().getCount(); i++) {
//ページ番号フィールドの初期化
PdfPageNumberField number = new PdfPageNumberField();
//総ページ数フィールドを初期化する
PdfPageCountField count = new PdfPageCountField();
//複合ドメインを作成する
PdfCompositeField compositeField = new PdfCompositeField(font, PdfBrushes.getBlack(), "ページ{0}合計{1}", number, count);
//设複合フィールドにテキストの配置を設定する
compositeField.setStringFormat(new PdfStringFormat(PdfTextAlignment.Right, PdfVerticalAlignment.Top));
//文字サイズの測定
Dimension2D textSize = font.measureString(compositeField.getText());
//PDFページの複合フィールドの位置とサイズを設定する
compositeField.setBounds(new Rectangle2D.Float(((float) pageSize.getWidth() - (float) textSize.getWidth())/2, y, (float) textSize.getWidth(), (float) textSize.getHeight()));
//複合フィールドをPDFページに追加する
compositeField.draw(doc.getPages().get(i).getCanvas());
}
//ドキュメントを保存します
doc.saveToFile("Numbers.pdf");
}
}
Author And Source
この問題について(Javaが既存のPDFドキュメントにページ番号を追加する), 我々は、より多くの情報をここで見つけました https://qiita.com/iceblue/items/c9c6e3e42c14cf11365a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .