文字校稿輔助工具

在最近兩年的工作經歷裡,DR 時常需要為著各種目的,一次性處理大量的 Word 文件。例如繁簡轉換、搜尋及取代多組文字、以及為特定文字標上黃色背景,以利後續人工檢查時能夠特別留意等等……於是 DR 便撰寫了兩支輔助工具來應付這些需求。

 

這兩支工具都是使用 Python 撰寫的,其中第一支工具的作用是藉由控制 Microsoft Word 來完成各種批次處理。由以下抓圖可知,這支工具能夠對指定目錄中的所有 Word 文件做出如下處理:簡體轉繁體、文字取代(從指定的 Excel 試算表取得搜尋 / 取代清單)、醒目提示(同樣是從 Excel 試算表中讀取清單)、另存為純文字檔、以及將註解內容匯出為一個 Excel 試算表。

 

 

事實上這支工具的部份實作細節,已經在先前的兩篇文章裡約略說明:

 

由於是使用 COM 介面、並且依賴於 Word 與 Excel,使得這支工具無法成為跨平台的方案。即便這顯然不符合 DR 的喜好,但現時也是莫可奈何。舉例來說,雖然 LibreOffice 經常被描述為 Microsoft Office 的強勁替代方案,但至少在自訂開發這一塊,DR 仍覺得兩者實在落差太大。關鍵點在於 LibreOffice 沒有像 MSDN 這樣的資源網站,為各種開發需求提供充分的提示。而另一方面,現實狀況也突顯出跨平台開發的一項常見阻礙──缺乏動機,既然在 Windows + Office 的日常工作環境用得好好的,目前 DR 實在沒有多少動力再去實現跨平台設計。

 

所以,或許等到哪天 DR 有空時,再來認真研究基於 LibreOffice 的解決方案。

 

不過接下來要介紹的另一支輔助工具,就沒有使用到任何專屬於某平台的元件,所以是可以在不同平台上運作的(雖然 DR 實際上都是跟前一支工具搭配使用)。這是一支針對純文字檔的搜尋工具,能夠快速地對指定目錄中的所有純文字檔做文字搜尋,並將吻合結果以片段節錄的方式彙整到單一文字報告中。如此一來,使用者不僅能夠從中看到哪些檔案存在該關鍵字,也能夠直接檢視這些關鍵字所處的上下文。

 

 

除此之外,這支工具還可以設定一個簡單、但 DR 卻很常用的篩選功能。就是當關鍵字吻合,但關鍵字所處位置的前一字元或後一字元存在某些指定字元,便忽略該項結果而不列入到報告中。舉例來說,這項功能可以列出所有存在「客戶」的片段,但會跳過「客戶端」這類情形。

 

至於這支工具和前一支工具的具體搭配方式則是:使用者可以藉由前一支工具,先將所有的 Word 文件另存為純文字檔,再由這支工具做文字搜尋。這項流程的一個好處在於效能,因為純文字檔搜尋比在 Word 裡一一對文件執行搜尋功能還要有效率。也就是說,這些純文字檔成了 Word 文件內容的一種快速索引(不過這也表示,這些索引應該要定期重建,才能與 Word 文件的內容變動保持一致性)。

 

最後,如同以往,對上述兩支工具的執行檔或原始碼有興趣者,都可以來信跟 DR 索取。

 

Tags: