趣文网 > 作文大全

Java 添加页码到PDF文档

2020-12-02 03:55:01
相关推荐

本文介绍通过Java程序来添加页码到PDF文档的方法。

使用工具

Free Spire.PDF for Java (免费版)

Jar文件获取及导入:

方法1:可通过e-iceblue官网下载jar文件包。下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入到Java程序。

方法2:可通过maven仓库安装导入,可参考官网中的导入方法。

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.*;

import java.awt.geom.Dimension2D;

import java.awt.geom.Rectangle2D;

public class AddPageNumber {

public static void main(String[] args) {

//加载PDF文档

PdfDocument pdf= new PdfDocument();

pdf.loadFromFile("sample.pdf");

//创建字体

PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("宋体", Font.PLAIN, 10),true);

//获取页面尺寸

Dimension2D pageSize = pdf.getPages().get(0).getSize();

//初始化y坐标

float y = (float) pageSize.getHeight() - 40;

//遍历文档中的所有页面

for (int i = 0; i < pdf.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(pdf.getPages().get(i).getCanvas());

}

//保存文档

pdf.saveToFile("AddPageNumber.pdf");

pdf.dispose();

}

}

页码添加效果

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

国庆见闻作文四百字 游雁荡山作文 童年趣事作文两百字 初中生活作文800 做人要守信作文 直面困难作文 北京天坛作文 我与名著有个约会作文 关于火灾的作文 关于校园足球的作文 作文英文翻译 秋天的怀想作文 我真感动作文600字 目标的作文 有趣的事作文100字 不安于现状作文 写比赛的作文400字 原来我很幸福作文 期中考试后的作文 碗中日月作文 作文人工智能 有关教师节的作文 描写亲情的作文600字优秀作文 蚂蚁搬东西作文 用假如写一篇作文 小学四年作文 初三疫情作文 高中和大学的不同英语作文 关于运动会的作文350字 窗外作文结尾怎么写