• 技术文章 >Java >java教程

    Java如何实现添加页码到PDF文档

    PHPzPHPz2023-04-30 10:58:06转载22

    代码编译环境

    IntelliJ IDEA 2019(jdk 1.8.0)

    PDF Jar包:Free Spire.PDF for Java 5.1.0

    引入jar

    导入方法1:

    手动引入。将Free Spire.PDF for Java下载到本地,解压,找到lib文件夹下的Spire.PDF.jar文件。在IDEA中打开如下界面,将本地路径中的jar文件引入Java程序:

    Java如何实现添加页码到PDF文档

    导入方法2:如果您想通过 Maven安装,则可以在 pom.xml 文件中添加以下代码导入 JAR 文件。

    <repositories>
    
            <repository>
    
                <id>com.e-iceblue</id>
    
                <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    
            </repository>
    
        </repositories>
    
    <dependencies>
    
        <dependency>
    
            <groupId>e-iceblue</groupId>
    
            <artifactId>spire.pdf.free</artifactId>
    
            <version>5.1.0</version>
    
        </dependency>
    
    </dependencies>

    将添加页码到PDF文档

    以下步骤展示了如何将“第 X 页(共 Y 页)”这样的页码添加到现有的 PDF 文档中:

    完整代码

    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.*;
    
    public class addPageNumber {
        public static void main(String[] args) {
    
            //创建 PdfDocument 类的对象
            PdfDocument pdf = new PdfDocument();
            //载入PDF文档
            pdf.loadFromFile("九寨沟简介 .pdf");
    
            //创建 PdfTrueTypeFont 类的对象
            PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("华文中宋", Font.PLAIN, 10));
    
            //创建 PdfPageNumberField 类的对象
            PdfPageNumberField pageNumberField = new PdfPageNumberField(font, PdfBrushes.getBlack());
    
            //创建 PdfPageCountField 类的对象
            PdfPageCountField pageCountField = new PdfPageCountField(font, PdfBrushes.getBlack());
    
            //创建一个 PdfCompositeField 类的对象,将页码字段和页数字段添加到复合字段
            PdfCompositeField compositeField = new PdfCompositeField(font, PdfBrushes.getBlack(), "第{0}页/共{1}页", pageNumberField, pageCountField);
    
            //设置复合字段的文字格式
            compositeField.setStringFormat(new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Top));
    
            //循环遍历文档中的页面
            for(int i = 0; i < pdf.getPages().getCount();i ++)
            {
                PdfPageBase page = pdf.getPages().get(i);
                float x = (float) page.getSize().getWidth()/2 - 20;
                float y = (float)page.getSize().getHeight() - pdf.getPageSettings().getMargins().getBottom();
                //将复合字段描绘于每个页面上
                compositeField.draw(page.getCanvas(), x, y);
            }
    
            //保存结果文档
            pdf.saveToFile("添加页码.pdf");
        }
    }

    效果图

    Java如何实现添加页码到PDF文档

    以上就是Java如何实现添加页码到PDF文档的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:亿速云,如有侵犯,请联系admin@php.cn删除
    专题推荐:Java PDF
    上一篇:Java操作pdf的工具类itext怎么处理 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • Java列表排序功能如何实现• 怎么用java interrupt()打断阻塞• Java WorkBook对Excel的基本操作方法有哪些• java内置的函数式接口怎么用• java创造匿名对象的两种方法是什么
    1/1

    PHP中文网