簡體   English   中英

從Java的Office和PDF文件中提取文本

[英]Extract text from Office and PDF files in Java

我有.pdf,ppt,pptx,xls,xlsx,doc和.docx文件List<File> ,現在想在此文件中查找電子郵件地址。 我的問題是如何從那些文件中提取計划Text智能。 當前,我正在使用Apache POI,並且對於每種類型的File我都有一個單獨的方法,這樣做是否更短,更優雅? 也許還有可能​​同時處理.odt,.odp,.ods文件嗎? 如何將.pdf,ppt,pptx,xls,xlsx,doc和.docx文件中的計划文本轉換為字符串?

如果Apache庫可以將文件轉換為文本,則可以在結果文本中進行正則表達式搜索 如果可以使用其他Java庫,則可以直接在原始文檔中搜索,或者至少首先將它們轉換為純文本。

我正在工作的公司有一些針對其中兩種格式的庫。 使用Gnostice XtremeDocumentStudio(用於Java)庫,您可以將PDF和DOCX文件轉換為純文本。

DocumentConverter dc = new DocumentConverter();
dc.convertToFile("sample.pdf", "sample-pdf.txt");
dc.convertToFile("sample.docx", "sample-docx.txt");

使用Gnostice PDFOne(用於Java)庫,您可以使用正則表達式 (另一個正則表達式,為電子郵件地址創建的正則表達式,直接上面給出鏈接)直接在PDF中執行搜索 該庫僅適用於PDF文件。

PdfDocument doc = new PdfDocument();
doc.load("Input_Docs\\input_doc.pdf");

// Obtain all website addresses in page 2
ArrayList lstSearchResults =
   (ArrayList) doc.search("http://{1}",  // regular expression
                          2, // page number
                          PdfSearchMode.REGEX,
                          PdfSearchOptions.NONE);

您嘗試過JOffice嗎? 它支持OpenOffice文檔格式(.odt,.ods)以及Microsoft Office文檔格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM