0

ユーザーから .doc、.docx、.pdf、および .rtf ファイルを受け入れる PHP のアプリケーションがあります。アプリケーションは、アップロードされたドキュメントの単語数をカウントして価格を計算します。

私はこの問題を探してきました。これはCOMクラスで簡単に実行できることがわかりましたが、それはWindowsサーバーでのみ機能し、Linuxでは機能しません。私のアプリケーションは Linux サーバーで実行されます。

どうすればこれを達成できるか教えてもらえますか?

4

1 に答える 1

1

アパッチ POI

Apache POI は、Microsoft 形式から抽出できます。私の知る限り、docx は実験的であると考えられていますが、テキスト抽出はかなり簡単なので問題ないはずです。

ワード カウントを直接返すか、ファイルのテキスト コンテンツを返す単純なコマンド ライン プログラムを作成するのは、かなり簡単です。以前に POI を使用して Microsoft ドキュメントのインデックスを作成したことがあり、非常にうまく機能しました。

リブレオフィス/オープンオフィス

  • soffice --headless --convert-to txt:text <file>
  • .odt、なども処理できます.rtf...(ただしPDFではありません)
  • 最速の解決策ではないかもしれませんが

共通のインターフェイスを提供しながら、基本的に同じことを行うライブラリもいくつかあります。

ネガ

コメントで、そのようなライブラリが「たくさん」あると述べられていたので、私はいくつかの調査を行いましたが、あまり成功しませんでした。次のライブラリを見つけましたが、実際に必要な機能を備えているものはないようです

  • PHPWord : docxしか書けない
  • PHPDocX : 生成のみを目的としていますが、既存の docx から抽出できますが、バイナリ doc 形式から抽出することはできません。Pro バージョンにはコンバーターがありますが、Java が必要なので、バックグラウンドで Apache POI を使用していると思います。

ただし、PDF の場合は、別のソリューションを取得する必要があります。しかし、そこには本当にたくさんの PHP PDF ライブラリがあり、PDF は明確に定義された形式であるため、それらのほとんどは少なくともまともなものです。

于 2013-06-06T12:05:03.757 に答える