JAVA 添加修改和删除PDF书签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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书签的主要内容,如果未能解决你的问题,请参考以下文章

如何给pdf文件自动添加目录和书签?

如何给pdf文件自动添加目录和书签?

如何在保留书签的同时向现有 pdf 添加附加页面? (PDFSharp等)

Java itext为pdf 文件添加水印核心功能代码片段

如果我想从另一个片段中添加书签,为啥我的书签单词没有保存到 sqlite 数据库?

零点起飞学MySQL 带书签完整pdf版[85.8MB] 完整版下载