1.简介在上一篇文章中,我们向您展示了如何使用Java程序在Word中添加、读取和删除书签。就像Word文档一样,您可以添加、修改、添加书签和阅读PDF文档。本文通过代码演示详细介绍了它的工作原理。
2.环境设置本文用于演示代码的工具是Free Spire.PDF for Java,可以从E-iceblue中文官网下载。解压文档后,手动将lib文件夹中的Spire.Pdf.jar导入到您的Java程序中。
此外,您还可以通过Maven 存储库将JAR 包安装到Maven 项目中。只需在pom.xml 文件中配置Maven 仓库路径,并指定Free Spire.PDF for Java 的Maven 依赖项即可。配置完成后,单击“Import Changes”导入JAR包。
com.e-icebluehttp://repo.e-iceblue.cn/repository/maven-public/e-iceblue spire.pdf.free 2.6.3 3. 代码演示示例1 添加PDF 书签
导入com.spire.pdf.PdfDocument;导入com.spire.pdf.PdfPageBase;导入com.spire.pdf.actions.PdfGoToAction;导入com.spire.pdf.bookmarks.PdfBookmark;com.spire.pdf.导入bookmarks.PdfTextStyle ;导入com.spire.pdf.general.PdfDestination;导入com.spire.pdf.graphics.PdfRGBColor;导入java.awt.*;导入java.awt.geom.Point2D;公共类AddBookmark { 公共静态void main(String[ ] args) { //创建一个PdfDocument实例PdfDocument pdf=new PdfDocument(); //加载PDF文档pdf.loadFromFile('C:\\Users\\Test1\\Desktop\\ Sample.pdf'); //获取第一页PdfPageBase page=pdf.getPages().get(0); //添加书签PdfBookmark Bookmark=pdf.getBookmarks().add('发布春联'); //设置目标页面及位置Bookmark PdfDestination 目的地=new PdfDestination (page, new Point2D.Float(0, 0));bookmark.setAction(new PdfGoToAction(destination)); //设置书签字体颜色.setColor(new PdfRGBColor(new Color(2, 139, 2)) )); //设置字体stylebookmark.setDisplayStyle(PdfTextStyle.Bold); //添加子书签PdfBookmark childBookmark=bookmark.add('过年对联的类型有很多种,可分为中心对联门和门框。对、横帘、春联等条、斗方等'); //设置目标页面和子书签位置PdfDestination childDestination=new PdfDestination(page, new Point2D.Float(0, 100)); childBookmark.setAction(new PdfGoToAction(childDestination));//设置字体颜色childBookmark.setColor(new PdfRGBColor(new Color(255, 80, 226))); //设置字体样式childBookmark.setDisplayStyle(PdfTextStyle.Italic); //保存生成的文档pdf .saveToFile(' output/AddBookmarks.pdf'); }}添加效果:
示例2 修改PDF 书签
导入com.spire.pdf.PdfDocument;导入com.spire.pdf.bookmarks.PdfBookmark;导入com.spire.pdf.bookmarks.PdfTextStyle;导入com.spire.pdf.graphics.PdfRGBColor;导入java.awt.*;public class EditBookmark { public static void main(String[] args) { //创建一个PdfDocument实例PdfDocument doc=new PdfDocument(); //加载PDF文档doc.loadFromFile('C:\\Users\\Test1\\Desktop\ \AddBookmarks .pdf'); //获取第一个书签PdfBookmarkbookmark=doc.getBookmarks().get(0); //更改书签标题bookmark.setTitle('new title'); //更改书签的字体颜色书签。 setColor(new PdfRGBColor(new Color(255,0,0))); //更改书签的字体样式bookmark.setDisplayStyle(PdfTextStyle.Italic); //更改子书签(PdfBookmark childBookmark)的字体颜色和字体样式: (Iterable ) Bookmark) { childBookmark.setColor(new PdfRGBColor(new Color(0, 0, 255))); childBookmark.setDisplayStyle(PdfTextStyle.Bold); } //保存文档doc。 saveToFile('output /EditBookmarks.pdf'); doc.close(); }} 更改效果:
示例3 读取PDF 书签
导入com.spire.pdf.*;导入com.spire.pdf.bookmarks.PdfBookmark;导入com.spire.pdf.bookmarks.PdfBookmarkCollection;导入java.io.FileWriter;导入java.io.IOException;公共类ReadBookmark { 公共static void main(String[] args) { //加载包含书签的PDF文档PdfDocument pdf=new PdfDocument(); pdf.loadFromFile('C:\\Users\\Test1\\Desktop\\AddBookmarks.pdf' );//获取书签集合PdfBookmarkCollectionbookmarkCollection=pdf.getBookmarks(); //实例化StringBuilder类StringBuilder stringbuilder=new StringBuilder(); //定义获取书签的方法GetBookmarkTitle(bookmarkCollection, stringbuilder ); //声明一个txt文件并获取一个将多级书签写入文件.txt 的FileWriter writer; try {writer=new FileWriter('output/ReadBookmark.txt');writer.write(stringbuilder .toString());writer.flush(); } catch (IOException e ) { e.printStackTrace(); } pdf.dispose(); } //定义获取书签标题的方法static void GetBookmarkTitle(PdfBookmarkCollectionbookmarkCollection, StringBuilder stringbuilder) { if (bookmarkCollection.getCount() 0) { for(int i=0 ; ibookmarkCollection.getCount(); i++ ) { PdfBookmarkparentBookmark=bookmarkCollection.get(i); stringbuilder.append(parentBookmark.getTitle()); //递归文档多级书签GetBookmarkTitle(parentBookmark, stringbuilder) ; } } }} 读取效果:
(文章完)
标题:java读取pdf 在每一页最后写入日期,java如何读取pdf文件
链接:https://www.7kxz.com/news/gl/22811.html
版权:文章转载自网络,如有侵权,请联系删除!