2012-08-13 49 views
3

如何檢測文檔中的圖像,如doc,xls,ppt或pdf?如何檢測文檔中的圖像

我遇到了Apache Tika,我正在嘗試它的命令行選項。 http://tika.apache.org/1.2/gettingstarted.html

但是不太清楚它將如何檢測圖像。

任何幫助表示讚賞。

感謝

+0

你想要一個純粹的命令行解決方案,還是很樂意編寫一些Java? – Gagravarr 2012-08-13 11:45:27

+0

@ Gagravarr我想要命令行解決方案,因爲我想使用Tika和Python。 – pratz 2012-08-14 09:21:23

回答

3

你說你想使用命令行解決方案,而不是編寫任何Java代碼,所以它不會是最好的方法來做到這一點......如果你很高興寫一點Java ,並創建一個新的程序來從Python調用,那麼你可以做得更好!

要做的第一件事就是讓Tika應用程序提取出文件中的任何嵌入式資源。使用此的--extract選項,並有提取發生在你應用控制一個特殊的臨時目錄,如

$ java -jar tika.jar --extract ../testWORD_embedded_pdf.doc 
Extracting 'image1.emf' (application/x-emf) 
Extracting '_1402837031.pdf' (application/pdf) 

抓住提取的輸出,如果你能,並解析需要的圖片(但要注意,一些圖像的canconical mimetype上有一個application/前綴!)。您可能需要對少數幾個人進行第二步檢測,我不確定,測試解析器如何繼續提取。

現在,如果有圖像,它們將在您的測試目錄中。按照你的想法處理它們。最後,當你完成文件時,打開臨時目錄!

+0

謝謝兄弟,這很好。我可以只獲取圖像的信息嗎?我不想將它們解壓到一個目錄。可能嗎? – pratz 2012-08-16 10:57:37

+0

是的,你可以做到這一點,但只有你寫了一些Java代碼!如果你只想使用Tika-App命令行工具,那麼稍後提取和清理是唯一的方法 – Gagravarr 2012-08-16 11:11:33

+0

我想知道你是否可以發佈鏈接或代碼來檢測使用tika庫的文件中的圖像。 – 2013-11-24 12:57:43

0

曾使用蒂卡過去 我看不到提卡如何與嵌入Office文檔或PDF 我錯了回答不可以。你 內的圖像幫助將有可能 仍然嘗試解析爲本地API,如Apache POI和Apache PDFBox。 Tika確實使用這兩個庫來解析文本和元數據,但沒有嵌入式圖像支持。

使用Tika使這些API自動可用(使用Tika的副作用)。

UPDATE: 由於提卡0.8:尋找EmbeddedResourceHandler和例子 - 由於Gagravarr。

+0

除了Apache Tika之外,您還可以推薦其他任何工具嗎? – pratz 2012-08-14 09:21:53

+1

這是不正確的,Tika處理嵌入式資源就好了! – Gagravarr 2012-08-14 10:49:51

+0

@Gagravarr - 感謝您糾正我 - 添加鏈接到適當的Tika界面。 – topchef 2012-08-14 23:06:28