2

以下の技術を使用しています。

  1. JRuby 1.7.4
  2. レール 3.2.13
  3. Ubuntu 13.04
  4. DB2 C-Express
  5. Torquebox サーバー 2.3.0

私の目標は、次の機能を実装する単純なコントローラーを作成することです。

  1. テキストファイルのアップロード (MS Word 形式、Open Office または Libre Office 形式)
  2. アップロードされたファイルに対して全文検索を実行する
  3. テキスト ファイルをブラウザで PDF として表示する

それを達成するのに役立つ宝石を探しましたが、次の質問があります。

  1. テキスト ファイルを格納しているフィールドの列の型を指定してください。一般的には、バイナリ型であるべきだと思いました。
  2. Sunspotを使用して全文検索を実行できますか? 私が読んだように、バイナリではなくテキスト型のフィールドで動作するようです。
  3. PDF の生成を可能にする 2 つの宝石について読みました。柔軟性を高めるPrawn gem と、HTML ページから PDF を生成できるPDFkit 。このいずれかを使用してテキスト ファイルを表示できますか? 最初に HTML で何らかの方法で表示し、次に PDF gem を使用する必要があると想定しています。

誰かがこのようなことをしたことがありますか?正しい方向に私を向けることができますか?

4

2 に答える 2

1

私はあなたの要件のほとんどを行ったことはありませんが、MS Word ドキュメントを XML ドキュメントに変換するテキスト パーサーをかなり頻繁に使用しています。おそらく、少なくともそのための正しい方向にあなたを始めることができます.

DOC -> XML 変換を簡単なプロセスにする Apache の POIと呼ばれる Java ライブラリを使用します。JRuby を使用しているので、MRI Ruby を使用しているため、JRuby をプロジェクトに統合する方がはるかに簡単になると思います。.jar ファイルを使用できるようにするためだけに、多くのブリッジやその他のジャンクを含める必要があったため、これは PITA でした。

個人的には、Carrierwave gemを使用してファイルのアップロードを処理しました。ファイルをアップロードしてモデルに添付するのは簡単です。Carrierwave ジェネレーターを使用してUploader、モデル内のフィールドにアタッチするクラスを生成し、仕様に基づいてファイルを保存および処理するように構成すると、利益が得られます! ドキュメントは素晴らしいですが、必要な場合は喜んでお手伝いします。複数ファイルのアップロードが必要な場合は、別の SO 投稿で、それをどのように達成したかについて詳しく説明しました。

それが役立つことを願っています!

于 2013-07-18T16:46:34.283 に答える