5

RoRで開発した最初のアプリケーションは、在庫で使用されている一部のキオスクタッチスクリーンPC用です。在庫労働者が材料を手に取ったとき、彼はフォームに数量を入力します。
次に、顧客名、材料の説明、数量、およびバーコードを含むラベルをZebraプリンターで印刷します。
Ruby on Railsアプリケーションからそれをどのように行うのですか?

  • ZPL(Zebra Printer Language)に必要な制御文字をコントローラーから直接送信しますか?(あまり快適ではありません)

  • HTMLでビューを作成し、それをクライアントに送信すると、クライアントはそれを印刷する必要があります。(ストックワーカーは追加の手順を実行する必要があるため、あまり快適ではなく、エラーが発生しやすく、間違ったプリンターを選択したり、ラベルをまったく印刷しなかったりする可能性があります)

  • コントローラからpdfドキュメントを作成し、サーバーからプリンタに送信します(ああ、プリンタはpdfを理解しないので、印刷を行うにはpdfリーダーを制御する必要がありますか??それはそれほど速くはありませんラベルをグラフィックイメージとしてプリンタに送信します

  • 印刷に必要なすべてのロジックを非表示にするgemを作成しますか?(すでにこれを行っている宝石はありますか?)

すべてのコメントをいただければ幸いです。

ありがとう

クラウス

4

4 に答える 4

4

生のZPLをプリンターに送信します。Bartenderのようなツールを使用できます(そのリンクからBartender Onlyをインストールすることをお勧めします。基本的にこのツールでラベルをデザインできます。ラベルをデザインしたら、ゼブラプリンター用のバーテンダープリンタードライバーをダウンロードして、これらのドライバーを備えたダミープリンターで、デザインしたこのラベルをファイルに印刷します。これにより、生のzplが得られます。これにより、基本的にすべての動的データを前の手順で印刷したzplファイルに置き換えて、プリンターに直接送信できます。シリアル、tcp/ipまたはusb経由。

于 2011-04-07T01:05:40.910 に答える
2

編集:私はこれを掘り下げ続けたので、はるかに良い解決策を見つけました。これは、私が最終的に使用したJavaアプレットソリューションに焦点を当てるために、かなり大幅に編集されています。

基本的に、ラベルは生のZPLテキストとして生成されます。次に、そのプレーンテキストをプリンタに送信する必要があります。これにより、ラベルが生成されます。

サーバーがプリンターのIPアドレスにアクセスできる場合は、サーバープロセスから直接ZPLをプリンターにコピーできます。リモートWebアプリの場合は、クライアントにZPLを送信してもらう必要があります。ブラウザのサンドボックス化は、これをうまくやってのけるのを難しくします-ドライバーは、助けになるように邪魔をしたいと思っています。いくつかのオプションがあります。最も一般的なのは、小さなJavaまたはFlashアプレットを使用して実際のコピーを行うことです。ユーザーが何も追加せずにプレーンテキストプリンターに印刷するために使用している特定のWebブラウザーを取得できる場合は、ローカル印刷を使用できますが、一般的に最も堅牢なアプローチは、ヘルパーJavaアプレットを使用することです。

これに使用するJavaアプレットはjZebraです:http ://code.google.com/p/jzebra/

これは非常にクリーンでわかりやすいアプローチです。ダウンロードパッケージのサンプルHTMLを見ると、数行のコードでラベルが印刷されます。サンプルを編集して、本番コードのポップアップとして使用することを計画しています。これは本当に簡単です。

このアプローチに関する2つの注意事項:

  • ユーザーはJREをインストールする必要があります
  • jZebraは、プリンタ名でZebraプリンタを検索します。実行する必要のあることについては、非常に具体的なガイドがあります(Mac、Windows、およびLinuxのセットアップに関する詳細な手順があります)。ただし、十分に文書化されており、ユーザーに指示に従う必要があります。正しく設定されると、うまく機能します。
于 2011-04-11T02:20:53.140 に答える
1

より単純な解決策であり、私もより良いと信じています。通常、ほとんどのブラウザとマシンにはPDFビューアがインストールされています。したがって、ラベルをPDFドキュメントとして作成し、ブラウザに送信するだけです。

以下のように、RORでZebraプリンターを使用したラベル印刷を実装しました。

  1. 正確な形式のラベルページをhtmlで作成します。
  2. wickedPDFを使用してhtmlをpdfに変換します。

通常、ラベルにはバーコードも含まれています。

したがって、全体的な解決策は、

  1. バービーの宝石を使用してバーコードを作成します。
  2. バーコードとラベルに記載する必要のある実際のデータを使用してHTMLを作成します。
  3. HTMLビューをPDFに変換します。
于 2013-12-07T08:33:44.053 に答える
0

ルビーC拡張の仕事のように聞こえます。おそらく、gnuバーコードhttp://www.gnu.org/software/barcode/ライブラリやゼブラプリンタ用の他のオープンスタンダード(存在する場合)のようなものもラップするものですか?私はかつてクーポンを作成し、gnuバーコードを多用するRailsアプリを実行しましたが、それにインターフェイスするための単純なシェルコマンドを実行しました。

于 2011-04-06T22:32:50.463 に答える