2012-03-20 43 views
3

我正在使用的MySQL數據庫將Microsoft Word文檔存儲在BLOB列中。但是,我無法抓取word文檔中的文本內容。有任何想法嗎?我正在使用ColdFusion 9.我試過類似的東西:讀取Word存儲爲BLOB數據庫中的DOC

<cfset myText = toString(toBinary(BLOBText))> 

但剛剛得到一堆亂碼。任何幫助表示讚賞。謝謝!

+1

http://www.raymondcamden.com/index.cfm/2009/2/4/Reading-Office-documents-with-ColdFusion – Henry 2012-03-20 22:58:37

+0

謝謝。 POI效果很好,我可以閱讀手動創建的簡單Word文檔。我現在的問題是我試圖讀取一個Word文檔作爲LONGBLOB存儲在MySQL中,保存並打開它。接收到以下錯誤:「對象實例化異常:實例化Java對象時發生異常,該類不能是接口或抽象類,錯誤:''。」 – Whatevo 2012-03-21 20:42:55

+0

您可以將LONGBLOB保存爲.doc文件,並用Word打開它以查看它是否有效? – Henry 2012-03-21 20:48:43

回答

5

單詞文檔不僅僅是純文本,它還嵌入了大量其他信息。如果您想要解析文本,您需要先手動存儲文本,或者使用代碼中的某個庫加載完整的word文檔,並從那裏讀取它。

+3

@JoshuaRowe,如果你想實際解析文本,那麼你需要(a)在CF服務器上安裝OpenOffice,(b)使用CFDOCUMENT標籤將Word文檔轉換爲PDF格式,(c)使用action =「extracttext」的CFPDF標籤。希望這可以幫助。 – 2012-03-20 22:56:44

+1

@DavidFaber - 其實你不需要轉換爲pdf來提取純文本。它可以通過POI完成。請參閱上面的亨利鏈接。 – Leigh 2012-03-20 23:43:39

+0

@Leigh,這是真的,我忘記了這一點,因爲我從來沒有得到正確的POI工作。 :-) – 2012-03-20 23:45:04

相關問題