我需要將PDF轉換爲正常文本(這是我們縣註冊服務商的「投票聲明」)。這些文件很大(2000頁左右),大部分都包含表格。一旦我把它寫入文本,然後我將使用我正在寫的一個程序來解析它,並將數據放入數據庫中。 我試過Adobe Reader中的「另存爲文本」功能,但它並不像我想要的那樣精確,特別是在將表格數據分隔成CSV格式時。 那麼,對工具或Java庫的任何建議都可以做到這一點?PDF到文本工具或Java庫?
回答
那麼,有iText。我只有有限的經驗,但it seems它可以做你想做的。
Apache PDFBox當然可以做到這一點。它的網站提到「PDF到文本提取」作爲其主要特徵。有一個ExtractText command line tool專門爲此(source code),基於其PDFTextStripper class。還有一個PDFBox Text Extraction Guide!
iText可以做一些閱讀,我想但是可能會有更好的工具(PDFBox,如你所提到的,也許)來達到這個目的...... – Knobloch 2009-02-24 21:14:40
使用文本(行)打印機打印到文件。
我一直髮現xpdf工具非常有用。
我們成功使用PDF到文本轉換來轉換用於EDI的PDF業務文檔。保留佈局的選項可以很好地工作,以便將事情定位好,以便在程序中解析。
我使用iText的和我「去過它真的很高興。 我以前用過xmlpdf和iText的是在我看來,遠優於。
不知道在你的PDF頁面的佈局就很難說
我建議下載和嘗試都的iText和PDBox你會發現兩者在其網站上的文字提取的例子。 - 你應該有一個提取器在< 30分鐘運行假設你知道圍繞Java的方式
。從PDFBox開始,因爲它的文本提取能力更好比iText的。
別人提到了xpdf,這可能對你有用。這是一個C庫,其中包含一些命令行工具。它有很多文本提取器,你可以很容易地格式化輸出。再次,它真的取決於你的頁面佈局。
PDFTextStream是我們的Java + .NET庫,用於從PDF文檔中提取內容;你可以試試看。此外,它提供了一些基本的table data extraction utilities,它們位於PDFTextStream的表格檢測功能之上。這絕不是一個通用的解決方案(儘管我們也在研究其中的一個!),但是如果表格數據被明確定義(例如,由行和行等限定的行和列),那麼您可能會發現現在有什麼妥善解決。
鑑於問題的標題:Apache Tika工作得很好,我從PDF中提取純文本。我沒有用它從表格中獲取文本。
對於PDF,它實際上是使用PDFBox。但除了PDF之外,其他格式如Microsoft Word(doc和docx),Excel和PowerPoint,OpenOffice.org/LibreOffice ODT,HTML,XML和many more也是如此。它的AutoDetectParser使得從任何輸入中獲取文本變得容易。
如果需要處理結果文本(例如將它傳遞給Mahout進行分類),可以使用ParsingReader將結果讀取到Reader中,同時後臺進程將其提取出來。最後,雖然extrating的內容,這還罷了發現的元數據:
public Reader getPlainTextReader(final InputStream is) {
try {
Detector detector = new DefaultDetector();
Parser parser = new AutoDetectParser(detector);
ParseContext context = new ParseContext();
context.set(Parser.class, parser);
Metadata metadata = new Metadata();
Reader reader = new ParsingReader(parser, is, metadata, context);
for (String name : metadata.names()) {
for (String value : metadata.getValues(name)) {
logger.debug("Document {}: {}", name, value);
}
}
return reader;
} catch (IOException e) {
...
}
}
- 1. java文本工具
- 2. 庫或工具將pdf轉換爲SilverLight xaml文件
- 3. 將文檔模板轉換爲java中的PDF文件(查找工具/庫)
- 4. 文本到ERD工具
- 5. 工具圖像轉換文本到Word或TXT或HTML
- 6. 常用的基於Java的PDF構建庫/工具?
- 7. 用於生成隨機但真實文本的庫或工具
- 8. Java獲得mouseover工具提示文本
- 9. java密鑰庫工具
- 10. 尋找一個工具將PDF轉換爲圖像和文本(或HTML)
- 11. 免費RTF到PDF .NET組件或工具?
- 12. 將PDF文檔(* .pdf)轉儲到文本?
- 13. Eclipse工具欄:找不到'help'或'window'文本
- 14. csv到PDF文件在java
- 15. Java Pdf差異庫
- 16. Toplink和Java存儲word或pdf文件
- 17. 使用某些實用工具或腳本將嵌入的PDF字體提取到外部ttf文件
- 18. 用於Google文檔文件上傳的工具或庫
- 19. 文件數據庫工具
- 20. 將文本添加到PDF
- 21. 將文本添加到PDF
- 22. PDF到文本在android
- 23. 搜索Java庫或第三方庫thorugh,我編寫的GUI組件到PDF
- 24. Advantage數據庫ORM工具或代碼生成工具
- 25. 無法通過java或其他工具連接到本地sql server sqlexpress實例
- 26. 上傳PDF或圖片文件到AWS桶在java
- 27. 工具或vbscript將硬編碼文本添加到多個文件的頂部?
- 28. 繪製二分圖的工具或庫?
- 29. 數據庫統計或bechmark工具
- 30. javascript相關的調試工具或庫?
我有一種感覺的表中的數據可能會引起你一些頭痛... – Knobloch 2009-02-24 21:15:48
是的。還有表格標題和頁面標題。雖然在整個文檔中是一致的,但它們在不同文檔之間並不一致。每次選舉一個文件,似乎他們不斷改變每次選舉的格式。 – 2009-02-24 21:24:42