PDFBox簡介

可移植文檔格式(PDF)是一種文件格式,有助於以獨立於應用程序軟件,硬件和操作系統的方式呈現數據。

每個PDF文件都包含固定佈局平面文檔的說明,包括顯示文本,字體,圖形和其他信息。
有幾個庫可用於通過程序創建和操作PDF文檔,例如 -

  • Adobe PDF庫 - 該庫提供C++,.NET和Java等語言的API,使用此庫可以編輯,查看打印和從PDF文檔中提取文本。

  • 格式化對象處理器 - 由XSL格式化對象和輸出獨立格式化程序驅動的開源打印格式化程序。 主要輸出目標是PDF。

  • iText - 這個庫提供了Java, C# 和其他.NET語言等語言的API,使用這個庫可以創建和操作PDF,RTF和HTML文檔。

  • JasperReports - 這是一個Java報告工具,可在PDF文檔中生成報告,包括Microsoft Excel,RTF,ODT,逗號分隔值和XML文件。

PDFBox是什麼?

Apache PDFBox是一個開源的Java庫,支持PDF文檔的開發和轉換。 使用這個庫,可以開發創建,轉換和操作PDF文檔的Java程序。

除此之外,PDFBox還包含一個命令行實用程序,用於使用可用的Jar文件對PDF執行各種操作。

PDFBox的特點

下面列出PDFBox的特點 -

  • 提取文本 - 使用PDFBox,可以從PDF文件中提取Unicode文本。
  • 拆分和合並 - 使用PDFBox,可以將單個PDF文件分割成多個文件,並將它們合併爲一個文件。
  • 填寫表單 - 使用PDFBox,可以將填寫表單填入文檔中。
  • 打印 - 使用PDFBox,可以使用標準Java打印API打印PDF文件。
  • 另存爲圖像 - 使用PDFBox,可以將PDF保存爲圖像文件,例如:PNGJPEG
  • 創建PDF - 使用PDFBox,可以通過創建Java程序來創建一個新的PDF文件,並且還可以包含圖像和字體。
  • 簽名 - 使用PDFBox,可以將數字簽名添加到PDF文件。

PDFBox的應用

以下是PDFBox的應用 -

  • Apache Nutch - Apache Nutch是一款開源的網絡搜索軟件。它建立在Apache Lucene的基礎上,添加了一些特定於web的內容,例如:爬蟲,鏈接圖數據庫,用於HTML和其他文檔格式的解析器等。

  • Apache Tika - Apache Tika是一個使用現有解析器庫從各種文檔檢測和提取元數據和結構化文本內容的工具包。

PDFBox的組件

以下是PDFBox的四個主要組件 -

  • PDFBox - 這是PDFBox的主要部分。 這包含與內容提取和操作相關的類和接口。
  • FontBox - 包含與字體相關的類和接口,使用這些類可以修改PDF文檔的文本字體。
  • XmpBox - 包含處理XMP元數據的類和接口。
  • Preflight - 此組件用於根據PDF/A-1b標準驗證PDF文件。