JAVA 添加、修改和删除PDF书签的示例代码

 更新时间:2019年06月05日 17:02:59   作者:4207  
这篇文章主要介绍了JAVA 添加、修改和删除PDF书签的示例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

当阅读篇幅较长的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书签的示例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • SpringBoot自定义配置项过程

    SpringBoot自定义配置项过程

    在SpringBoot项目中,通过在application.properties文件中添加配置项,然后使用@ConfigurationProperties注解将这些配置项与实体Bean进行绑定,可以实现配置项与实体类字段的自动关联,进而方便地读取配置文件中的数据,这种方法不仅简化了配置管理
    2024-11-11
  • 基于HttpClient在HTTP协议接口测试中的使用(详解)

    基于HttpClient在HTTP协议接口测试中的使用(详解)

    下面小编就为大家带来一篇基于HttpClient在HTTP协议接口测试中的使用(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 浅谈Redis在微服务架构中的几种应用场景

    浅谈Redis在微服务架构中的几种应用场景

    本文介绍在SpringCloud中使用Redis作为Pub/Sub异步通信、缓存或主数据库和配置服务器的三种场景应用。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • Java调用WebService服务的三种方式总结

    Java调用WebService服务的三种方式总结

    虽然WebService这个框架已经过时,但是有些公司还在使用,在调用他们的服务的时候就不得不面对各种问题,本篇文章总结了最近我调用 WebService的心路历程,3种方式可以分别尝试,需要的朋友可以参考下
    2023-08-08
  • java使用CountDownLatch实现多线程协作

    java使用CountDownLatch实现多线程协作

    在多线程编程中,经常需要实现一种机制来协调多个线程的执行,以确保某些操作在所有线程完成后再进行,CountDownLatch 就是 Java 并发包中提供的一种同步工具,下面我们就来看看如何使用CountDownLatch实现多线程协作吧
    2023-11-11
  • Spring Boot 自动配置之条件注解浅析

    Spring Boot 自动配置之条件注解浅析

    这篇文章主要介绍了Spring Boot 自动配置之条件注解浅析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • Java 超详细讲解IO操作字节流与字符流

    Java 超详细讲解IO操作字节流与字符流

    本章具体介绍了字节流、字符流的基本使用方法,图解穿插代码实现。 JAVA从基础开始讲,后续会讲到JAVA高级,中间会穿插面试题和项目实战,希望能给大家带来帮助
    2022-03-03
  • java后台调用接口及处理跨域问题的解决

    java后台调用接口及处理跨域问题的解决

    这篇文章主要介绍了java后台调用接口,处理跨域的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Java 继承与多态的深入理解

    Java 继承与多态的深入理解

    这篇文章主要介绍了Java 继承与多态的深入理解的相关资料,子类继承父类的特征和行为,使得子类具有父类的各种属性和方法。或子类从父类继承方法,使得子类具有父类相同的行为,需要的朋友可以参考下
    2017-08-08
  • java数据结构基础:循环链表和栈

    java数据结构基础:循环链表和栈

    这篇文章主要介绍了Java数据结构之循环链表、栈的实现方法,结合实例形式分析了Java数据结构中循环链表、栈、的功能、定义及使用方法,需要的朋友可以参考下
    2021-08-08

最新评论