直接從docx文件中提取文字和圖片
在沒有使用Office Word軟件的情況下,我們可以介紹一種方法來直接從word文檔(docx格式)中提取和搜索文本以及圖片資源。 解壓縮docx文件 首先,我們有一個docx文檔如圖所示。文檔
在沒有使用Office Word軟件的情況下,我們可以介紹一種方法來直接從word文檔(docx格式)中提取和搜索文本以及圖片資源。
解壓縮docx文件
首先,我們有一個docx文檔如圖所示。文檔內(nèi)包含文字、圖片等內(nèi)容。與以前的二進制doc不同,docx本質(zhì)上是以一些xml文件和資源進行打包壓縮而成,是zip類型的文件。我們可以通過修改docx后綴為zip后綴,然后解壓縮該文件,就可以看到其中的文件。
查找文本和圖片
文檔中的圖片、文字、頁眉、頁腳、腳注等內(nèi)容都在word文件夾下。打開這個文件夾,我們可以看到其中的_rels文件夾和media文件夾。
_rels文件夾中存儲著描述資源id和具體文本、圖片之間關(guān)系的xml文件。而media文件夾則保存了文檔中的圖片資源。
修改和替換
如果需要,我們可以修改_rels文件夾中的相關(guān)項,來調(diào)整資源的位置或類型。
而打開document.xml文件,我們可以看到文檔的主體部分,其中以xml格式保存了文檔的正文內(nèi)容。在成對的lt;w:tgt;和lt;/w:tgt;之間,即可找到文本內(nèi)容。
而打開media文件夾,可以看到word中的圖片以文件形式存儲在此。我們可以根據(jù)需要替換這些文件,而原來位置的圖片將按照原來的寬高進行拉伸。
搜索和提取
關(guān)于document.xml主體文件的搜索,我們可以使用xml解析程序或解析函數(shù),例如在MMA中使用Import導(dǎo)入xml中的文本項。
當然,我們也可以使用正則表達式匹配來搜索文本。舉個簡單例子,在MMA中,我們可以使用表達式lt;w:tgt;(.*?)lt;/w:tgt;來匹配文本。不同平臺可能會有不同的表達式寫法和效果。