8

PHPprinter_open()の関数を使用すると、変数に保存した文字列を出力し$contentたり、ファイルから出力したりできます。

$printer = "\\\\Pserver.php.net\\printername"; 
$handler = printer_open($printer);
$content = "Test Content";  //string
printer_write($handler, $content); 
printer_close($handler); 

しかし、データベースから生成したhtml出力があり、Webページに表示されています。ページが読み込まれたら、同じ形式で直接印刷する必要があります。たくさん試しましたが、何をすべきかわかりませんprinter_open(). _

私は何をすべきか?もしあれば、これよりも良い方法を提案してください


更新しました

プリンターに直接印刷ジョブを開始する代わりに、印刷ダイアログボックスを表示するため、javascriptのwindows.print()メソッドを使用したくありません

ユーザーに送信フォームとプリンターを押して、何も聞かずにレシートを直接印刷してもらいたい

4

3 に答える 3

2

出力バッファの使用を試すことができます:

ob_start();
// generate your output from the DB here
// .....

// Send generated output to the printer
printer_write($handler, ob_get_contents());

// And show it to client on the frontend
ob_end_flush();
于 2013-09-20T08:16:48.470 に答える
0

あなたの質問を理解しているので、HTML をレンダリングしてから印刷しようとしています。残念ながら、クライアント側でレンダリングする場合は、クライアント側で印刷する必要があります。これにより、印刷ダイアログが開始されます。

サーバー上でPhantomJS実行して HTML をレンダリングし、スナップショットを保存してそれを印刷することもできますが、請求書を印刷するだけでも大げさすぎるように思えます。

おそらく、PDF を生成して印刷することをお勧めします。

于 2014-10-03T13:57:36.493 に答える