java pdf添加页码_Java 给PDF文档添加页码

日常工作中,为了方便

阅读

、检索与

PDF

文档,

我们

常常需要对其

进行页码

添加

那么接下来就分享一个使用免费的

F

ree Spire.PDF for Java

在J

ava

程序中快速为

PDF

文档添加页码

的方法。

首先放一张效果图供大家参考:

b0474c668c171570f8617d44b51ad1e5.png

基本步骤:

lib文件夹下

Spire.Pdf.jar包

作为依赖项导入

到Java应用程序中

或者通过

M

aven仓库安装

J

AR包(

配置

pom.xml文件

的代码见下文

)

在J

ava

应用程序中新建一个Java

C

lass(此处我命名为AddPageNumbers)

,

然后输入相应的J

ava

代码并运行

配置pom.xml

文件

com.e-iceblue

http://repo.e-iceblue.cn/repository/maven-public/

e-iceblue

spire.pdf.free

2.6.3

J

ava

代码

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 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 

//初始化页码域

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("AddPageNumbers.pdf");

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值