以下经验内容分享通过Java程序来修改或者编辑PDF文档中已有的书签,包括重置书签标题、书签样式等。
工具/原料
Free Spire.PDF for Java (免费版)
工具下载及jar文件导入:
1、方式1:通过E-iceblue官网下载jar包,并解压,手动导入lib文件夹下的Spire.Pdf.jar文件。方式2:通过创建Maven程序,在pom.xml中配置maven仓库路径并指定Free Spire.PDF for Java 的依赖,配置完成后,在IDEA中,点击“Import Changes”导入JAR包:<repositories> <repository> <id>com.e-iceblue</id> <url>http://repo.e-iceblue.cn/repository/maven-public/</url> </repository></repositories><dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.pdf.free</artifactId> <version>2.6.3</version> </dependency></dependencies>jar导入结果如下图所示:
Java代码示例
1、import com.spire.pdf.*; import com.spire.pdf.bookmarks.PdfBookmark; import com.spire.pdf.bookmarks.PdfTextStyle; import com.spire.pdf.graphics.PdfRGBColor; import java.awt.*; public class ModifyBookmark { public static void main(String[] args) { //创建PdfDocument实例 PdfDocument pdf = new PdfDocument(); //加载PDF文档 pdf.loadFromFile("AddBookmarks.pdf"); //获取第一个书签,修改书签标题、字体颜色、字体样式 PdfBookmark bookmark = pdf.getBookmarks().get(0); bookmark.setTitle("新标题"); bookmark.setColor(new PdfRGBColor(new Color(255,20,147))); bookmark.setDisplayStyle(PdfTextStyle.Bold); //修改子书签的字体、颜色和字体样式等 for (int i = 0 ; i< pdf.getBookmarks().getCount(); i++ ) { //修改二级子书签 PdfBookmark childBookmark = bookmark.get(0); childBookmark.setColor(new PdfRGBColor(new Color(148,0,211))); childBookmark.setDisplayStyle(PdfTextStyle.Italic); //修改三级子书签 PdfBookmark childBookmark1 = childBookmark.get(0); childBookmark1.setColor(new PdfRGBColor(new Color(255,215,0)) ); childBookmark1.setDisplayStyle(PdfTextStyle.Italic); } //保存文档 pdf.saveToFile("ModifyBookmarks.pdf"); pdf.close(); } }
2、书签编辑效果: