为了账号安全,请及时绑定邮箱和手机立即绑定

Java 添加页码到PDF文档

标签:
Java

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

使用工具:Free Spire.PDF for Java (免费版)

Jar文件获取及导入:

方法1可通过官网下载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();
     }
 }

页码添加效果:

https://img1.sycdn.imooc.com//5dafbd5d0001c96e11260609.jpg


(本文完)

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
9
获赞与收藏
48

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消