gradle jar 修改 output 路径_Java 添加、修改、读取PDF书签
生活随笔
收集整理的這篇文章主要介紹了
gradle jar 修改 output 路径_Java 添加、修改、读取PDF书签
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、序言
在前文中,我曾介紹過如何使用Java程序來添加、讀取、刪除Word書簽。與Word文檔一樣,PDF文檔同樣也可進行書簽的添加、修改及讀取。本文就將通過代碼演示來詳細講解其操作方法。
二、環境搭建
本文代碼演示所用到的工具為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三、代碼演示
示例 1 添加PDF書簽
import com.spire.pdf.PdfDocument;import com.spire.pdf.PdfPageBase;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 AddBookmark { public static void main(String[] args) { //創建PdfDocument實例 PdfDocument pdf = new PdfDocument(); //加載PDF文檔 pdf.loadFromFile("C:甥敳獲Test1DesktopSample.pdf"); //獲取第一頁 PdfPageBase page = pdf.getPages().get(0); //添加書簽 PdfBookmark bookmark = pdf.getBookmarks().add("貼春聯"); //設置書簽的目標頁面和位置 PdfDestination destination = new PdfDestination(page, new Point2D.Float(0, 0)); bookmark.setAction(new PdfGoToAction(destination)); //設置字體顏色 bookmark.setColor(new PdfRGBColor(new Color(2, 139, 2))); //設置字體樣式 bookmark.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書簽
import com.spire.pdf.PdfDocument;import com.spire.pdf.bookmarks.PdfBookmark;import com.spire.pdf.bookmarks.PdfTextStyle;import com.spire.pdf.graphics.PdfRGBColor;import java.awt.*;public class EditBookmark { public static void main(String[] args) { //創建PdfDocument實例 PdfDocument doc = new PdfDocument(); //加載PDF文檔 doc.loadFromFile("C:甥敳獲Test1DesktopAddBookmarks.pdf"); //獲取第一個書簽 PdfBookmark bookmark = doc.getBookmarks().get(0); //修改書簽的標題 bookmark.setTitle("新標題"); //修改書簽的字體顏色 bookmark.setColor(new PdfRGBColor(new Color(255,0,0))); //修改書簽的字體樣式 bookmark.setDisplayStyle(PdfTextStyle.Italic); //修改第一個書簽的子書簽的字體顏色和字體樣式 for (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書簽
import com.spire.pdf.*;import com.spire.pdf.bookmarks.PdfBookmark;import com.spire.pdf.bookmarks.PdfBookmarkCollection;import java.io.FileWriter;import java.io.IOException;public class ReadBookmark { public static void main(String[] args) { //加載包含書簽的PDF文檔 PdfDocument pdf = new PdfDocument(); pdf.loadFromFile("C:甥敳獲Test1DesktopAddBookmarks.pdf"); //獲取書簽集合 PdfBookmarkCollection bookmarkCollection = 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(PdfBookmarkCollection bookmarkCollection, StringBuilder stringbuilder) { if (bookmarkCollection.getCount()> 0) { for(int i = 0 ; i< bookmarkCollection.getCount(); i++ ) { PdfBookmark parentBookmark = bookmarkCollection.get(i); stringbuilder.append(parentBookmark.getTitle()); //遞歸文檔多級書簽 GetBookmarkTitle(parentBookmark, stringbuilder); } } }}讀取效果:
(本文完)
總結
以上是生活随笔為你收集整理的gradle jar 修改 output 路径_Java 添加、修改、读取PDF书签的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mybatis一对多关联查询_一对一,一
- 下一篇: python链接hbase模块_HBas