CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

コンピュータ全般

Office系アプリのデータからテキスト抽出する

投稿日:

Office系アプリとは言わずと知れたWordやExcelなわけで、doc/docx/xls/xlsx/ppt/pptxとあいなる。こいつらはバイナリなので、テキストを抽出するためのやり口はいくつかある。

【独自解析系】
xdoc2txtなるフリーソフト。Office系のみならず、一太郎やOpenOfficeなど様々な商用アプリのデータに対応しており、またPDFやhtmlまで対応しているってんだからスゲー。惜しむらくは、2020年6月に更新されて以来、約2年半更新がストップしていること。VCランタイムを2010から新しいものに更新して、もうやるべきことはやったという感じなのだろうか。2002年から開発を始めていて20年の月日が経過しているので、作者としてはそろそろいい年齢で、気力と体力が低下しているのかもしれない。
作者のhishidaさんは、EBシリーズという名の電子書籍・電子辞書を作成するためのツール集の開発も行っており、こっちがメインのようにも感じる。
話をxdoc2txtに戻す。ファイル比較ソフトのWinMergeのプラグインとしてxdoc2diffがあり、おいらも重宝して使っていた。WinMergeの64bit版ではxdoc2diffが動作しないらしく、この点は残念なこと。じゃーどうするのかってことで次の話に移る。

【COMでアプリにやらせる系】
WinMergeの標準プラグインとして存在するのがCompareMSExcelFilesなど(他にWord用、PowerPoint用もあり)。拡張子sctでコードを確認したところ、CreateObject(“Excel.Application”)という記載があったため、COMでアプリを起動してテキストアウトしていることがわかった。つまりWordやExcelがインストールされている必要があるということで、独自解析系に比べると処理に時間がかかるはず。ただ、アプリにやらせているから抽出結果の正確性が高い。WinMergeの用途から言って、COMでやらせることは妥当であり、リッチクライアントで閉じた世界でやるから問題ない。サーバーで高速に処理する必要があって、サーバーにWordやExcelなんて入ってねぇぜという環境においては、独自解析系になるだろう。

【MicrosoftのIFilter】
本家が提供しているテキスト抽出エンジン。本家なんで安定していてサポートもしっかりしているのだろう。ビジネス用途ならこれの一択。ただ、本流の製品でもなくサーバー側の地味なものなので、頻繁な更新はされておらず、サポート期限が切れるの切れないのという話がある模様。クラウド利用がうんちゃら。。このあたりはよくわからん。そのうち調べてみるかも。

-コンピュータ全般

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

消えゆくLZH

興味深いニュースが入ってきた。 Unlha32.dll等開発停止、LHA書庫の使用中止呼びかけ LZH書庫に対して、ウイルス対策ソフトが正しく扱うことができないことがありえ、 バッファーオーバーフロー …

no image

ループバック

社内のインフラ系の人と打ち合わせをしていたときに、その人からポロっと出てきた単語でした。ループバックって何ですか?と瞬間的に質問をしてみました。 マシンのIPアドレスが必ず必要なサーバーアプリケーショ …

no image

続)SSD

2年前に買ったSSDは、180GBで、2万円くらいだったと思う。 今は、512GBで2.3万円になった。 ほぼ同じ値段で、3倍の容量になっている! 今回買ったのは、CT512MX100SSD1で、価格 …

no image

Windows Server

仕事で、Windows Serverに触れる機会が増えてきた。 クライアント系のWindows OSを操るのには慣れているが、 サーバーとなると勝手が違って戸惑うことしきりだ。 Windows Ser …

no image

SmarTeam

スマチームと読むらしい。 どうしてもスマップを頭に思い浮かべてしまう。 SmartとTeamをくっつけた名前だという話を聞いた。 いったい何? PDMソフトだって。 Product Data Mana …