本文介绍通过Java程序来添加页码到PDF文档的方法。
使用工具:Free Spire.PDF for Java (免费版)
Jar文件获取及导入:
方法1:可通过官网下载jar文件包。下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入到Java程序。
方法2:可通过maven仓库安装导入,可参考导入方法。
Java代码示例importcom.spire.pdf.*;
importcom.spire.pdf.automaticfields.PdfCompositeField;
importcom.spire.pdf.automaticfields.PdfPageCountField;
importcom.spire.pdf.automaticfields.PdfPageNumberField;
importcom.spire.pdf.graphics.*;
importjava.awt.*;
importjava.awt.geom.Dimension2D;
importjava.awt.geom.Rectangle2D;
publicclassAddPageNumber{
publicstaticvoidmain(String[]args){
//加载PDF文档
PdfDocumentpdf=newPdfDocument();
pdf.loadFromFile("sample.pdf");
//创建字体
PdfTrueTypeFontfont=newPdfTrueTypeFont(newFont("宋体",Font.PLAIN,10),true);
//获取页面尺寸
Dimension2DpageSize=pdf.getPages().get(0).getSize();
//初始化y坐标
floaty=(float)pageSize.getHeight()-40;
//遍历文档中的所有页面
for(inti=0;i
//初始化页码域
PdfPageNumberFieldnumber=newPdfPageNumberField();
//初始化总页数域
PdfPageCountFieldcount=newPdfPageCountField();
//创建复合域
PdfCompositeFieldcompositeField=newPdfCompositeField(font,PdfBrushes.getBlack(),"第{0}页共{1}页",number,count);
//设置复合域内文字对齐方式
compositeField.setStringFormat(newPdfStringFormat(PdfTextAlignment.Right,PdfVerticalAlignment.Top));
//测量文字大小
Dimension2DtextSize=font.measureString(compositeField.getText());
//设置复合域在PDF页面上的位置及大小
compositeField.setBounds(newRectangle2D.Float(((float)pageSize.getWidth()-(float)textSize.getWidth())/2,y,(float)textSize.getWidth(),(float)textSize.getHeight()));
//将复合域添加到PDF页面
compositeField.draw(pdf.getPages().get(i).getCanvas());
}
//保存文档
pdf.saveToFile("AddPageNumber.pdf");
pdf.dispose();
}
}
页码添加效果:
(本文完)