当阅读篇幅较长的PDF文档时,为方便我们再次阅读时快速定位到上一次的阅读位置,可以插入一个书签进行标记;此外,对于文档中已有的书签,我们也可以根据需要进行修改或者删除等操作。本篇文章将通过Java编程来展示如何添加、修改以及删除PDF书签。

工具使用:

  • Free Spire.Pdf for Java 2.4.4 (免费版)
  • IntelliJ IDEA

Jar包导入:

方式一:首先,从官网获取Free Spire.PDF for Java之后解压,以下是三种在IDEA中快速打开Project Structure界面的方式;如下图:

然后,按照以下步骤进行操作:① 选择“Modules”—“Dependencies”,添加外置jar包;② 进入"Attach File or Directories"界面选择jar文件路径,然后点击“OK”;③ 勾选jar路径选项,点击”OK”/”Apply”;④ 导入完成。如下图:

方式二:使用Maven配置导包。可以参考导入方法

 

测试文档:

JAVA代码示例参考:

1.  添加书签

import com.spire.pdf.*;
import com.spire.pdf.actions.PdfGoToAction;
import com.spire.pdf.bookmarks.PdfBookmark;
import com.spire.pdf.bookmarks.PdfTextStyle;
import com.spire.pdf.general.PdfDestination;
import com.spire.pdf.graphics.PdfRGBColor;
import java.awt.*;
import java.awt.geom.Point2D;

public class bookmark {
    public static void main(String[] args) throws Exception{
            //创建PDF实例
            PdfDocument doc = new PdfDocument();
            //从系统中加载PDF文件
            doc.loadFromFile("data/Sample.pdf");
            PdfPageBase page = doc.getPages().get(2);
       //添加书签
            PdfBookmark bookmark = doc.getBookmarks().add("第三页");
            //获取位置,页码的开头
            PdfDestination bookmarkLocation = new PdfDestination(page, new Point2D.Float(0 , 0));
            bookmark.setAction(new PdfGoToAction(bookmarkLocation));
            //书签样式
            bookmark.setColor(new PdfRGBColor(Color.BLUE));
            bookmark.setDisplayStyle(PdfTextStyle.Bold);
            PdfPageBase page1 = doc.getPages().get(3);
            PdfBookmark bookmark1 = doc.getBookmarks().add("第四页");
            PdfDestination bookmarkLocation1 = new PdfDestination(page1, new Point2D.Float(0 , 0));
            bookmark1.setAction(new PdfGoToAction(bookmarkLocation1));
            bookmark1.setColor(new PdfRGBColor(Color.RED));
            bookmark1.setDisplayStyle(PdfTextStyle.Bold);
             //保存PDF文件
            doc.saveToFile("output/bookmarks.pdf");
            doc.close();
        }
    }

书签添加效果:

2.  修改书签

import com.spire.pdf.PdfDocument;
import com.spire.pdf.bookmarks.*;
import com.spire.pdf.graphics.PdfRGBColor;
import java.awt.*;

public class updateBookmark {
    public static void main(String[] args) {
     //创建PDF实例
        PdfDocument doc = new PdfDocument();
     //从系统中加载PDF文件
        doc.loadFromFile("output/bookmarks.pdf");
        //获取第一个书签
        PdfBookmark bookmark = doc.getBookmarks().get(0);
        //更改书签
        bookmark.setTitle("已更新的书签");
        // 设置书签的颜色
        bookmark.setColor(new PdfRGBColor(Color.black));
        //设置书签文本加粗
        bookmark.setDisplayStyle(PdfTextStyle.Bold);
        //保存文件
        doc.saveToFile("output/updateBookmark.pdf");
        doc.close();
    }
}

书签修改效果:

3.  删除书签

import com.spire.pdf.PdfDocument;

public class deleteBookmark {
    public static void main(String[] args) {
     //创建PDF实例
        PdfDocument doc = new PdfDocument();
     //从系统中加载PDF文件
        doc.loadFromFile("output/bookmarks.pdf");
        //removeAt()方法移除书签
        doc.getBookmarks().removeAt(0);
     //保存文件
        doc.saveToFile("output/deleteBookmark.pdf");
        doc.close();
    }
}

书签删除效果:

(本文完)

转载请声明出处!

JAVA 添加、修改和删除PDF书签的更多相关文章

  1. C# 添加、修改和删除PDF书签

    C# 添加.修改和删除PDF书签 有时候我们在阅读PDF文档时会遇到这样一种情况:PDF文档页数比较多,但是又没有书签,所以我们不能根据书签快速了解文档所讲解的内容,也不能点击书签快速跳转到相应的位置 ...

  2. java如何实现批量删除pdf指定的页数

    依赖: <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox-app ...

  3. Entity Framework Code First添加修改及删除单独实体

    对于一个单独实体的通常操作有3种:添加新的实体.修改实体以及删除实体. 1.添加新的实体 Entity Framework Code First添加新的实体通过调用DbSet.Add()方法来实现. ...

  4. Entity Framework Code First添加修改及删除外键关联实体

    1.添加外键关联实体 1>.添加新的Province及City实体 using (var ctx = new PortalContext()) { var city1 = new City { ...

  5. DNS添加/修改/查询/删除A记录

    #查询DNS可用类 Get-WmiObject -Namespace root\MicrosoftDNS -List #查询所有资源记录 $mydns = [WMIClass]"ROOT\M ...

  6. Java如何大批量从json数据源中按指定符号隔字符串,并修改、删除数据

    原文出自:https://blog.csdn.net/seesun2012 package com.seesun2012.com; /** * Java大批量修改.删除数据,按指定标识符分隔字符串 * ...

  7. Java 添加、验证PDF 数字签名

    在设置文档内容保护的方法中,除了对文档加密.添加水印外,应用数字签名也是一种有效防伪手段.数字签名的文件比较容易验证,并且具有较高的权威性和可信度.在PDF文档中,有可直接添加或验证数字签名的功能方法 ...

  8. Java添加、提取、替换和删除PDF图片

    (一)简介 这篇文章将介绍在Java中添加.提取.删除和替换PDF文档中的图片. 工具使用: Free Spire.PDF for JAVA 2.4.4(免费版) Intellij IDEA Jar包 ...

  9. js/java 获取、添加、修改、删除cookie(最全)

      一.cookie介绍 1.cookie的本来面目 HTTP协议本身是无状态的.什么是无状态呢,即服务器无法判断用户身份.Cookie实际上是一小段的文本信息(key-value格式).客户端向服务 ...

随机推荐

  1. 洛谷 P1731 [NOI1999]生日蛋糕

    P1731 [NOI1999]生日蛋糕 题目背景 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层 生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1<=i<=M ...

  2. hotswapagent——热更新代码而无需重启生产环境

    http://blog.csdn.net/littleschemer/article/details/51645722

  3. eclipse提速03 - 禁用动画

  4. java自动识别用户上传的文本文件编码

    原文:http://www.open-open.com/code/view/1420514359234 经常碰到用户上传的部分数据文本文件乱码问题,又不能限制用户的上传的文件编码格式(这样对客户的要求 ...

  5. 使用nginx代理weblogic负载方案

    之前一直用apache来做weblogic的前端,由于nginx对静态内容的出色性能,不得不转投nginx.这里就不 再写weblogic的安装了. 安装nginx nginx需要pcre做支持,一般 ...

  6. 如何把你的Windows PC变成瘦客户机

    越来越多的用户开始使用vmware view 4.5来做为企业桌面虚拟化的平台,通过view,所有的管理工作都转移到数据中心,但是考虑到成本原因,很多人员还在使用PC机,有没有办法将PC机变成瘦客户机 ...

  7. django 简易博客开发 5 markdown支持、代码高亮、gravatar头像服务

    上一篇博客介绍了comments库使用及ajax支持,现在blog已经具备了基本的功能,但是只能发表文字,不支持富文本编辑.今天我们利用markdown添加富文本支持. markdown语法说明: h ...

  8. [转]图解eclipse 查看原始类出现The jar file rt.jar has no source attachment

    原文:http://blog.csdn.net/u011514810/article/details/53196371 ---------------------------------------- ...

  9. 万恶之源:C语言中的隐式函数声明

    1 什么是C语言的隐式函数声明 在C语言中,函数在调用前不一定非要声明.如果没有声明,那么编译器会自己主动依照一种隐式声明的规则,为调用函数的C代码产生汇编代码.以下是一个样例: int main(i ...

  10. centos中w使用smbclient连接window出现:session setup failed: NT_STATUS_LOGON_FAILURE

    1. 在window中网络->我自己的电脑->能够查看到共享文件,说明window的共享是正常了; 2. 在window中配置共享时,使用的是仅仅同意超级管理员訪问,可是我把超级管理员改名 ...