2014年4月12日 星期六

救救我的Word吧

















在忙完拆解word 檔案之後終於有時間寫一下感想...
朋友的重要文件意外壞掉出現檔案毀損無法開啟   連忙求救於我
當天晚上我試圖用Recover For Word , Kernel for Word 等N種網路上提供的軟體都無法解決
不是亂碼就是免費版文字不完整,不過有些軟體是可以看到文字本身,
不過純文字檔,只有字我覺得幫助不大,畢竟word 檔麻煩的還是在排版或表格啊!

因為朋友使用的是mac for office 一時間方向擺錯  我一直往mac 找 沒有什麼結果
最後身為工程師   我居然想用Apache POI 去讀檔案,看能否讀出什麼或做轉檔
但檔案無法開啟就是會一直出現 java.util.zip.zipexception invalid entry crc

一直想著軟體可以拆解出文字應該是有可以fix 的方式
忽然發現可以把副檔名docx 改成zip 解壓縮後看檔案哪裡壞掉  最後解開步驟如下:

  1. 副檔名docx 改成zip 解壓縮(但因為檔案毀損     所以當你把檔案改完打開時他會報錯誤! 無法解壓縮什麼的.... 不用管他    他仍然會出現解壓縮的目錄)
  2. 隨便開一個word新的檔案,然後畫圖表之後存檔
  3. 到網站上找少的xml 檔案 我是在xdocreportclone 找 customXml 跟把 xdocreport 的ooxml.docx 一樣改成zip 解壓縮後用他的檔案來補我缺的檔案
  4. 至於缺哪些檔案呢? [Content_Types].xml 跟_rels folder 中的.rels 還有word/_rels/document.xml.rels 都有寫 (基本上所有_rels folder 裡頭的rels檔案都打開檢查一下就對了)
  5. .rels檔案大概如圖
把檔案中的連結路徑(target 指向的路徑檔案)都補齊,由於這份文件用很多圖檔,不見的圖就用同檔名隨便放進去就好 (因為document.xml 檔案 裡面似乎有寫到對應的id,document.xml 檔案太大要改眼很花,我選擇把檔案補進去)

  6. 檢查word/document.xml 檔案,有些xml tag 會不完整就補齊就好,以我的例子 該檔案是有<w:document>開始</w:document> 結束,只是後面還有很多奇怪的橫線我就把它刪除就可以了
  7. 確定檔案都補齊之後把剛剛那個zip 打開,把所有整理好(包含原來在裡面就有的)檔案加回zip檔案裡頭
  8. 把zip副檔名改回docx,再重新打開就可以用囉!!不過我的case 是有圖檔跟chart 遺失,這部份可能就要之後再補了,但看起來至少文字跟表格還在損失比較少.... 

以上就是有點複雜其實蠻簡單的流程囉.... 又學會一招!


沒有留言:

張貼留言