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

アプリの64bit化

アプリの64bitアプリ化が進んでいる。 メリットを以下で整理してみる。 1.実装メモリーを無駄なく使用できて、大きいファイル(特に画像ファイル)を  扱うときに、メモリー不足による動作制限がほぼなく …

no image

エクスローラでファイルを素早くみつける

エクスプローラでファイルを見つけるには、特定フォルダを表示して、 どれか一つのファイルを選択しておいて、みつけたいファイルの頭文字を キーボードから打ち込めばよい。 この事実に気付いたのは、はるか昔、 …

no image

CS5

Creative Suite 5。 5/28発売予定。 Web、画像、動画、DTPを扱うソフトとしては、業界標準であるAdobe。 高価なソフトが高価なまま販売され続けている稀有な存在。 CS5発表と …

PDFのプロパティを変更できるようにしたPDFアレコレを公開

1週間ぶりにPDFアレコレをバージョンアップ。変更点は以下の通り。 Ver2.04 2020/3/29 ・プロパティで一部情報(タイトル、作成者、サブタイトル、キーワード、アプリケーション)を変更でき …

no image

テザリングへの道

デザリングではない、テザリングだ。 tether:繋ぎ止める、縛る おいらのスマホはFOMAなので、テザリングをすると、 パケット料金の5460円が8190円に跳ね上がる。 その金額のあいだは、テザリ …