我推薦嘗試Apache Tika。 Apache Tika基本上是一個工具包,可從多種類型的文檔中提取數據,包括PDF。
Tika(除了免費)的好處是,它曾經是Apache Lucene的子項目,它是一個非常強大的開源搜索引擎。 Tika包含一個內置的PDF解析器,它使用SAX Content Handler將PDF數據傳遞給您的應用程序。它還可以從加密的PDF中提取數據,並允許您創建或子類化現有解析器以自定義行爲。
代碼很簡單。爲了從一個PDF中的數據,所有你需要做的就是創建一個實現Parser接口一個解析器類和定義parse()方法:
public void parse(
InputStream stream, ContentHandler handler,
Metadata metadata, ParseContext context)
throws IOException, SAXException, TikaException {
metadata.set(Metadata.CONTENT_TYPE, HELLO_MIME_TYPE);
metadata.set("Hello", "World");
XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
xhtml.startDocument();
xhtml.endDocument();
}
然後,運行解析器,你可以這樣做這樣的:
InputStream input = new FileInputStream(new File(resourceLocation));
ContentHandler textHandler = new BodyContentHandler();
Metadata metadata = new Metadata();
PDFParser parser = new PDFParser();
parser.parse(input, textHandler, metadata);
input.close();
out.println("Title: " + metadata.get("title"));
out.println("Author: " + metadata.get("Author"));
out.println("content: " + textHandler.toString());
感謝@Mauricio,可惜庫需要是免費的。 :-( –
相信我,我嘗試了很多免費的圖書館,他們甚至都沒有接近JPedal的性能和選項,我相信這個許可證就像800美元,所以它對於你的功能非常便宜,如果你真的需要這個,你應該要求你的公司得到一些儘可能好的東西 –