java itext pdf 怎么加页码

java itext pdf 怎么加页码,第1张

引用spire.pdf.jar到java程序中,然后使用下面的代码,页码的位置可以自己调整

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 doc = new PdfDocument()

        doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\系统测试.pdf")

        //创建字体

        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.PLAIN, 12), true)

        //获取页面尺寸

        Dimension2D pageSize = doc.getPages().get(0).getSize()

        //初始化y坐标

        float y = (float) pageSize.getHeight() - 72

        //遍历文档中的页

        for (int i = 0 i < doc.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() - 80, y, (float) textSize.getWidth(), (float) textSize.getHeight()))

            //将复合域添加到PDF页面

            compositeField.draw(doc.getPages().get(i).getCanvas())

        }

        //保存为另外一个文档

        doc.saveToFile("output/AddPageNumber.pdf")

    }

}

效果:

以WPS 2019版本为例:

关于怎么设置pdf页眉页脚,我们推荐您可考虑使用WPS2019来完成, *** 作步骤如下:

1、打开「PDF文档」;

2、点击「插入-页码」/「插入-页眉页脚」(提示该功能需开通WPS会员使用);

3、可根据需求设置页面或页眉页脚的参数来进行插入。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11647751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存