web-dev-qa-db-ja.com

印刷ジョブをプリンタに直接渡すangular 6

WebベースのPOS(店頭販売)については、請求書をすぐに印刷する必要性に勝るものはありませんが、Webページからプリンターに直接コマンドを送信する方法にはそれほど多くのオプションはありません—特に=で開発する場合Angularフレームワーク。Web上のあらゆる場所を検索しましたが、何も見つかりませんでした。

私の目的を達成するためのサードパーティのライブラリまたは何かがありますか?

9
Harshit kyal

他の人がすでに述べたように、これに対する簡単で万能な解決策はありません。

私が見つけることができるオプションは、次の3つのカテゴリに分類されます。

  1. ブラウザ固有の設定

    一部のブラウザー(firefox、chrome)では、特定の設定をオン/オフに切り替えたり、サイレントモードやキオスクモードの印刷用に追加したりできます。これらの設定は非常に多様であり、ブラウザーのバージョンに依存する場合があるため、ここではそれらをリストするつもりはありません。サイレント印刷で使用しているブラウザのメソッドをオンラインで見つけることができます。

  2. ブラウザ固有のプラグイン

    一部のプラグインも見つかりますが、バックグラウンドで設定を1に切り替えるのと同じことを行うだけの場合があります

  3. カスタム

    私が見つけた非常に具体的/関与/「実践的な」オプションの1つは、カスタム設計されたURL /ファイルタイプハンドラーを使用してサービスを処理することです。あなたはここでビデオを見つけることができます: https://www.youtube.com/watch?v=MQMD4Pb7jzY

あなたがすでに述べたように。選択は最適ではありませんが、これらから解決できるものがあるかもしれません。

4
jcuypers

HTMLページを印刷するためのソリューションが必要であることがわかったので、このサードパーティライブラリ( ngx-print )は、あなたに役立つ。

NgxPrintModuleモジュールをインストールしてインポートしたら、id属性で印刷したいセクションにタグを付けます、次にそのidをボタンのディレクティブパラメータにリンクします:(このように)

<!--
   1)- Add an ID here
 -->
<div id="print-section"> 
  <!--Your html stuff that you want to print-->
</div>

 <!--
   2)- Add the directive name in your button (ngxPrint),
   3)- Affect your ID to printSectionId
 -->
<button printSectionId="print-section" ngxPrint>print</button> 

これは、angular 7コードから直接HTML部分を印刷するのに役立ちます。

0
Bhavik Patel

angularアプリを使用して、印刷のためにブラウザーを完全にバイパスすることで、POS印刷を実行できました。プリンターが接続し、印刷する新しいレシートをリッスンするWebSocketをセットアップしました。新しいレシートがWebサイトで作成されたバックエンドは、新しいレシートを作成し、それをWebSocketに送信します。

0
Nabel