天天育儿网,内容丰富有趣,生活中的好帮手!
天天育儿网 > java pdf 书签_Java PDF书签——添加 编辑 删除 读取书签

java pdf 书签_Java PDF书签——添加 编辑 删除 读取书签

时间:2018-11-18 03:32:02

相关推荐

java pdf 书签_Java PDF书签——添加 编辑 删除 读取书签

本文介绍通过Java程序来操作PDF书签,根据对书签的不同操作要求,分以下情况来介绍:

1. 添加书签(包括添加一级书签、多级子书签)

3. 删除书签(包括删除所有书签、删除子书签等)

4. 读取书签

工具使用

程序使用辅助工具:Free Spire.PDF for Java(免费版)

方法1

:可下载

jar包,解压并将lib文件夹下的jar文件导入java程序(手动导入)

方法2

: 通过创建Maven项目程序,在pom.xml中配置maven仓库路径并指定Free Spire.PDF for Java 的依赖,配置完成后,在IDEA中,点击“Import Changes”导入JAR包:

com.e-iceblue

http://repo.e-/repository/maven-public/

e-iceblue

spire.pdf.free

2.6.3

(Ecllipse

的导入方法,参考这篇

)

jar导入结果如下图所示:

1.

添加书签到PDF

importcom.spire.pdf.*;

importcom.spire.pdf.actions.PdfGoToAction;

importcom.spire.pdf.bookmarks.PdfBookmark;

importcom.spire.pdf.bookmarks.PdfTextStyle;

importcom.spire.pdf.general.PdfDestination;

importcom.spire.pdf.graphics.PdfRGBColor;

importjava.awt.*;

importjava.awt.geom.Point2D;

publicclassAddBookmark{

publicstaticvoidmain(String[]args){

//创建PdfDocument实例

PdfDocumentpdf=newPdfDocument();

//加载PDF文档

pdf.loadFromFile("test.pdf");

//获取第一页

PdfPageBasepage=pdf.getPages().get(0);

//添加书签

PdfBookmarkbookmark=pdf.getBookmarks().add("第一部分调查研究概述");

bookmark.setDisplayStyle(PdfTextStyle.Bold);//设置字体样式

bookmark.setColor(newPdfRGBColor(newColor(139,69,19)));//设置字体颜色

PdfDestinationdestination=newPdfDestination(page,newPoint2D.Float(0,0));//设置书签的目标页面和位置

bookmark.setAction(newPdfGoToAction(destination));

//添加二级子书签

PdfBookmarkchildBookmark=bookmark.add("第一节菌种特性研究");

childBookmark.setColor(newPdfRGBColor(newColor(255,127,80)));//设置字体颜色

childBookmark.setDisplayStyle(PdfTextStyle.Italic);//设置字体样式

PdfDestinationchildDestination=newPdfDestination(page,newPoint2D.Float(0,100));//设置子书签的目标页面和位置

childBookmark.setAction(newPdfGoToAction(childDestination));

//添加三级子书签

PdfBookmarkchildBookmark1=childBookmark.add("1.菌种特性概念");

childBookmark1.setColor(newPdfRGBColor(newColor(125,152,100)));//设置字体颜色

childBookmark1.setDisplayStyle(PdfTextStyle.Italic);//设置字体样式

PdfDestinationchildDestination1=newPdfDestination(page,newPoint2D.Float(50,100));//设置子书签的目标页面和位置

childBookmark1.setAction(newPdfGoToAction(childDestination1));

//保存文档

pdf.saveToFile("AddBookmarks.pdf");

pdf.dispose();

}

}

书签添加效果:

2.

编辑PDF

中已有的书签

importcom.spire.pdf.*;

importcom.spire.pdf.bookmarks.PdfBookmark;

importcom.spire.pdf.bookmarks.PdfTextStyle;

importcom.spire.pdf.graphics.PdfRGBColor;

importjava.awt.*;

publicclassModifyBookmark{

publicstaticvoidmain(String[]args){

//创建PdfDocument实例

PdfDocumentpdf=newPdfDocument();

//加载PDF文档

pdf.loadFromFile("AddBookmarks.pdf");

//获取第一个书签,修改书签标题、字体颜色、字体样式

PdfBookmarkbookmark=pdf.getBookmarks().get(0);

bookmark.setTitle("新标题");

bookmark.setColor(newPdfRGBColor(newColor(255,20,147)));

bookmark.setDisplayStyle(PdfTextStyle.Bold);

//修改子书签的字体、颜色和字体样式等

for(inti=0;i

//修改二级子书签

PdfBookmarkchildBookmark=bookmark.get(0);

childBookmark.setColor(newPdfRGBColor(newColor(148,0,211)));

childBookmark.setDisplayStyle(PdfTextStyle.Italic);

//修改三级子书签

PdfBookmarkchildBookmark1=childBookmark.get(0);

childBookmark1.setColor(newPdfRGBColor(newColor(255,215,0)));

childBookmark1.setDisplayStyle(PdfTextStyle.Italic);

}

//保存文档

pdf.saveToFile("ModifyBookmarks.pdf");

pdf.close();

}

}

书签编辑结果:

3.

删除PDF

中的书签

importcom.spire.pdf.*;

publicclassDeleteBookmark{

publicstaticvoidmain(String[]args){

//创建PdfDocument实例,加载PDF文档

PdfDocumentpdf=newPdfDocument();

pdf.loadFromFile("AddBookmarks.pdf");

//删除第一个书签(包括删除其包含的子书签)

pdf.getBookmarks().removeAt(0);

/*//仅删除子书签

PdfBookmarkchildBookmark=pdf.getBookmarks().get(0);

childBookmark.removeAt(0);*/

//保存文档

pdf.saveToFile("RemoveBookmark.pdf");

pdf.dispose();

}

}

4.

读取PDF

中的书签

importcom.spire.pdf.*;

importcom.spire.pdf.bookmarks.PdfBookmark;

importcom.spire.pdf.bookmarks.PdfBookmarkCollection;

importjava.io.FileWriter;

importjava.io.IOException;

publicclassGetBookmark{

publicstaticvoidmain(String[]args){

//加载包含书签的PDF文档

PdfDocumentpdf=newPdfDocument();

pdf.loadFromFile("AddBookmarks.pdf");

//获取书签集合

PdfBookmarkCollectionbookmarkCollection=pdf.getBookmarks();

//实例化StringBuilder类

StringBuilderstringbuilder=newStringBuilder();

//定义方法获取书签

GetBookmarkTitle(bookmarkCollection,stringbuilder);

//声明txt文件,并将获得的多级书签写入到文件.txt

FileWriterwriter;

try{

writer=newFileWriter("读取的书签.txt");

writer.write(stringbuilder.toString());

writer.flush();

}catch(IOExceptione){

e.printStackTrace();

}

pdf.dispose();

}

//定义方法获取书签标题

staticvoidGetBookmarkTitle(PdfBookmarkCollectionbookmarkCollection,StringBuilderstringbuilder)

{

if(bookmarkCollection.getCount()>0)

{

for(inti=0;i

{

PdfBookmarkparentBookmark=bookmarkCollection.get(i);

stringbuilder.append(parentBookmark.getTitle());

//递归文档多级书签

GetBookmarkTitle(parentBookmark,stringbuilder);

}

}

}

}

书签读取结果:

(完)

如果觉得《java pdf 书签_Java PDF书签——添加 编辑 删除 读取书签》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。