私は現在、OpenOffice マクロと pdf2text プログラムの組み合わせを使用してテキストを抽出しており、PowerPoint ファイルからテキストを取得するより簡単で効率的な方法を見つけたいと考えています。
私はApache POIライブラリを使用してみましたが、あまり運がなく、見ているファイルを処理しようとするとライブラリ内で多数の例外が発生し、特にライブラリのソースコードをふるいにかけたくありません.
前述のライブラリを使用せずにこれを行う簡単な方法はありますか?
私は現在、OpenOffice マクロと pdf2text プログラムの組み合わせを使用してテキストを抽出しており、PowerPoint ファイルからテキストを取得するより簡単で効率的な方法を見つけたいと考えています。
私はApache POIライブラリを使用してみましたが、あまり運がなく、見ているファイルを処理しようとするとライブラリ内で多数の例外が発生し、特にライブラリのソースコードをふるいにかけたくありません.
前述のライブラリを使用せずにこれを行う簡単な方法はありますか?
MS Office を使用していて、PPT を RTF (リッチ テキスト形式) で保存すると、プレゼンテーションのテキストだけが含まれます。次に、RTF ファイルを認識できる任意のエディターでファイルを開き、テキスト (TXT) ファイルとして保存できます。
これは Open Office でも機能すると思います。
あなたは API について話しているので、これはあなたに適した方法ではないかもしれませんが、そこにたどり着くための新しいアイデアが得られるかもしれません。たとえば、複数のマクロを使用して段階的に変換を行うとします...
編集:興味があり、短いGoogle検索を行いました
これは、www.openoffice.org ページの 1 つで見つけたものです。
このスレッドの人々が指摘しているように、オブジェクト指向ドキュメントからテキストを取得することは難しくありません。これは、perl スクリプトで解析できる xml を圧縮しただけだからです。問題は、Microsoft Powerpoint ドキュメントを最初に圧縮された XML 形式に変換することです。
File -> Wizards -> Document Converter がまさにそれを行うことがわかりました。テンプレートではなく、Powerpoint ドキュメントを変換したいことを伝えるだけで、ソース ディレクトリと、結果を吐き出す場所を指定するだけで済みます。
次に unzip -p $file.sxi content.xml | を見つけます。perl -p -e "s/<[^>] >/\n/g;s/ +//;s/\n\n /\n/g;" -w
テキストの抽出にはかなりうまく機能します。
申し訳ありませんが、私はそれを試すのに便利な Open Office を持っていません。
pptxファイルはzip形式のxmlであるため、比較的簡単に処理できます。解凍してから、解凍したものの「ppt / slides」サブディレクトリにあるファイルのコンテンツからすべてのxmlタグを削除して、ほとんどのファイルを生成できます。関連するテキスト。
pptファイルはまったく別のボールゲームであり、正規のツールであるcatdocパッケージのcatpptはバッファオーバーフローの影響を受けやすく、ほとんど役に立たないため、プロセスはさらに面倒になります(pptファイルの大部分でsegfaultが発生します)。