LinuxでMS Officeドキュメントからテキストを抽出する方法は?


18

LinuxのすべてのMS Officeドキュメントタイプ(Word、Excel、Powerpoint)からテキストを抽出する方法が必要です。これを実現するには、BashまたはPythonスクリプト、PDFに変換してからpdftotextなどのツールを使用してテキストを抽出するなど、いくつかの異なるアプローチが考えられます。

これは、当たり前の要件かもしれないようです。これを簡単に達成するための確立された手順またはツールはありますか?

回答:


16

Catdocはdoc、xlsおよびpptをテキストに変換できます。2番目のオプションはwvWareです。

utilsチェックの詳細については、http://www.linux.com/archive/articles/52385をチェックして、単語からテキストへの変換者と


Catdoc!それが私が探しているものです!ODFでも機能しますか?
ピョーアルカールウィン

googleしてstosberg.net/odt2txtを取得しました。それを試したことがない、それは仕事をしているようだ。
ナハル

よろしくお願いします。catdocは大丈夫ですが、xls、pptをtestに変換できません。xls2csvとapache-tikaを使用します。それらをチェックしてください!
ピョーアルカールウィン

@ nahar、odt2txtはodt形式でのみ機能し、ms docでは機能しません。
アレン

1
素晴らしい、catdocは私が障害セグメンテーション与えます
fotanus

8

私はついにスクリプト解析ドキュメント解析のための完璧なツールを見つけました。それはapache-tikaで、膨大な数の非テキスト形式を非常にクールなテキストに解析できます!

ここでApache Tikaを入手してください:

http://tika.apache.org/

(マック自作ユーザー:brew install tika

コマンドラインインターフェイスは次のように機能します。

tika --text something.docx > something.txt


+1:Apache Tikaは深刻なオープンソースプロジェクトであり、Windowsでも動作し、コマンドラインから動作します。ドラッグアンドドロップのGUIがあり、あらゆるもの(Word、Excel、PowerPoint、PDF、svg)を開き、メタデータを抽出しますドキュメントも。上記のほとんどのツールを試した後、Apache Tikaは私が探していたものです。これが受け入れ答え(あなたがあなた自身の答えを受け入れることができるかどうかはわからない)でなければなりません
user2518618

2
やった、恥知らずに...:D
ピョーアルカールウィン

7

Abiwordは、知っている任意のファイル形式間でコマンドラインから変換できます。

Wordからプレーンテキストに変換します。

abiword --to=txt myfile.doc

WordファイルからPDFを作成します。

abiword --to=pdf myfile.doc

等々。これらの場合の結果は、myfile.txtまたはmyfile.pdfになります。出力名を指定する場合は、それも実行できます。

abiword --to=txt --to-name=output.txt myfile.doc

ODTをWordに変換します。

abiword --to=doc myfile.odt

WordをODTに変換します。

abiword --to=odt myfile.doc

他の回答との公平性において、AbiWordはwvWareを使用してWord文書を処理することに注意する必要がありますが、wvWareホームページでさえほとんどの変換ではなくAbiWordの使用を推奨しています。

ワープロが嫌いです。これが、AbiWordがインストールされている主な理由です。

また、unoconvにも興味があるかもしれません。これはOpenOfficeが知っている形式(スプレッドシートなどを含む)をサポートする同様のツールですが、個人的には経験がありません。


.docxの文書それが台無しの場合:Sしかし、.DOCのための素晴らしいソリューション
Warface

3

LibreOfficeでできること:

libreoffice --invisible --convert-to pdf file1.ppt file2.ppt

4
LibreOfficeの--invisible TXT --convert-へ:あなたはTXTに変換するには、テキストフィルタを使用することができるテキストファイル
Gagaro

0

CUPS(仮想プリンター)を使用し、ldを使用することもできます。


興味深いのですが、印刷可能なものをPDFに変換できますか?DocまたはXlsでそれを行う例を教えてください。
ピョーアルカールウィン

0

wvは1つのオプションであり、IIRC OpenOfficeはコマンドラインからPDFとしてエクスポートして終了するように指示できます。


unoconvは、覚えていないOpenOffice関連のツールのようです。
ptman


0

1.doc catdocまたは変換するdocファイルのアンチワード次のコマンドを使用できますcatdoc file.doc> fileまたはantiword file.doc> file

  1. docx docx2txt

  2. pdf emacs file.pdf ctrl-x ctrl-sファイル


(1)Catdocは、ほぼ3年前の質問から1時間以内に投稿された回答で提案されました。なぜ繰り返しますか?(2)アンチワードはどこで入手できますか?(3)答えの下半分は何を意味しますか?
スコット

-1

Docsplitは、pdfからテキストを抽出するのに最適なツールです。それはルビーの宝石です。そのため、docsplitコマンドを使用する前に、Linuxシステムにrubyとgemをインストールする必要があります。

システムにrubyとgemがない場合は、指示に従ってください。

ソフトウェアをインストールするにはrootである必要があります(すべてのユーザーが利用できるようにしたい場合)。

Linuxにruby
をインストールします。yuminstall ruby gemをインストールします。最新のgemパッケージをダウンロードして、指示に従ってください。

tar xzf ruby​​gems-xxxx.tgz
cd ruby​​gems-xxxx
ruby setup.rb

RubyGemsがインストールされたので、gemコマンドが必要です(gemはRubyGemsパッケージシステムと対話するために使用されるコマンドです)。次を実行してテストします。

宝石リスト

次に、次のステップに進み、docsplit gemをインストールします。次のサイトにアクセスしてください。 http://documentcloud.github.com/docsplit/


これは、OPが要求したものと正反対です。
-CarlF
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.