それで、私は印刷の問題についてたくさん読んできました。数日間の調査とたくさんの読書の後、すべてが理にかなっています。私がこのコードを持っているとしましょう:(私はphpとphp_printer拡張機能を使用しています)
$boldon = chr(27)."E".chr(1);
$boldoff = chr(27)."E".chr(0);
$pcenter = chr(27)."a".chr(1);
$pleft = chr(27)."a".chr(0);
$handle = printer_open("Generic / Text Only File");
printer_set_option($handle, PRINTER_MODE, "RAW");
printer_write($handle, $boldon.$pcenter."Some text");
printer_write($handle, "\n");
printer_write($handle, "Some more text");
printer_write($handle, "\n");
printer_close($handle);
ローカルホストで実行すると、それは素晴らしく機能します。私はサーマルプリンターを使用していますが、うまく印刷されます。サーバーでこれを試してみると(今では完全に理にかなっています)、これは機能しません。実際のサーバーがローカルで印刷しようとしてプリンターが見つからないためだと思います。プリンターがサーバーにインストールされていれば、サーバーのプリンターで印刷されると思いますが、それは私が探しているものではありません。
情報をhtmlまたは任意の並べ替えで表示してwindow.print()を使用しても、ブラウザはテキストのみを送信せず(またはそれを何度も読んだものです)、一般的なテキストのみを送信し、テキストのみを印刷するため(推測しています)、役に立ちません.
したがって、解決策は、ESC/P でテキストを含む何らかのファイルを作成し、それを javascript で印刷することです (他のスレッドで言及されているように、印刷ダイアログをスキップする必要はありません)。ドライバーを変更することはできません。 、一般的なテキストのみである必要があります。したがって、必要な情報を含む .txt ファイルを作成すると印刷されますが、ESC/P は無視されるため、テキストを書式設定することはできません。デフォルトのプリンター オプションで印刷され、すべてプレーンで送信されます。新しい行とESC / Pのすべての部分を無視するテキスト(皮肉)。
ここでの質問は、必要なテキストを送信し、ESC/P を無視しないファイル (任意の種類のファイル) を作成する方法はありますか?