背景
PDFドキュメントは世界中に広く使われていて、毎日無数のPDFドキュメントが人々に閲覧したり、処理したりしています。しかし一部のPDFドキュメントにはページ番号がないため、ユーザーが読むのは非常に不便です。この記事では、無料のPDF JavaコンポーネントであるFree Spire.PDF for Javaを使用して既存のPDFドキュメントにページ番号を追加する方法を紹介します。
下準備
jarパッケージをインポートします
まず、Free Spire.PDF for Javaコンポーネントパッケージをダウンロードして解凍し、次の2つの.jarファイルをlibフォルダーからJavaアプリケーションに引用します。
Spire.Pdf.jar
Spire.Common.jar
処理するドキュメントは次のとおりです。
Javaコード一覧
import com.spire.pdf.PdfDocument;
import com.spire.pdf.automaticfields.PdfPageNumberField;
import com.spire.pdf.graphics.*;
import java.awt.*;
public class AddPageNumber {
public static void main(String[] args)
{
//PDFをロードする
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf");
//マージンを設定する
PdfUnitConvertor unitCvtr = new PdfUnitConvertor();
PdfMargins margin = new PdfMargins();
margin.setTop(unitCvtr.convertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point));
margin.setBottom(unitCvtr.convertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point));
margin.setLeft(unitCvtr.convertUnits(3.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point));
margin.setRight(unitCvtr.convertUnits(3.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point));
//AddPageNumberメソッドを呼び出して、ページ番号を追加する
AddPageNumber(pdf, margin);
//ドキュメントを保存する
pdf.saveToFile("AddPageNumber.pdf");
}
/**
*
* @param document
* PDFドキュメント
* @param margin
* PDFドキュメントページの余白
*/
public static void AddPageNumber(PdfDocument document, PdfMargins margin)
{
int pageCount = document.getPages().getCount();
for(int i = 0; i < pageCount; i++)
{
PdfBrush brush = PdfBrushes.getBlack();
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Unicode MS",Font.PLAIN,14),true);
PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Left);
int x = (int)document.getPages().get(i).getCanvas().getClientSize().getWidth() / 2;
int y = (int)(document.getPages().get(i).getCanvas().getClientSize().getHeight() - margin.getBottom());
Rectangle bounds = new Rectangle(x,y, 50, 20);
PdfPageNumberField field = new PdfPageNumberField();
field.setFont(font);;
field.setBrush(brush);
field.setStringFormat(format);
field.setBounds(bounds);
field.draw(document.getPages().get(i).getCanvas());
}
}
}
コードを実行し、生成されたドキュメントを開くと、結果は次のようになります:
以上は今回のPDFドキュメントにページ番号を追加する方法でした、最後まで読んでいただきありがとうございます。