5

サーマル プリンターに直接印刷できる POS (Point of Sale) アプリケーションを PHP で作成しました。ほとんどの場合、WAMP を使用してローカル Web サーバーでアプリケーションを実行します。

印刷コードの一部は次のとおりです。

$printer = "\\\\localhost\\TM-T88V";

// Open connection to the thermal printer
$fp = fopen($printer, "w");
if (!$fp){
  die('no connection');
}

$data = " PRINT THIS ";

// Cut Paper
$data .= "\x00\x1Bi\x00";

if (!fwrite($fp,$data)){
  die('writing failed');
}

このコードは、PC がネットワークに接続されている限り正常に機能します。fopen と "LOCALHOST" または "COMPUTER-NAME" を使用して、PHP を共有プリンター (同じ PC 上またはネットワーク内の PC 上) に接続できます。 fopen("\\localhost\TM-T88V" ,'w');

PC をネットワークから切断すると、PHP は \\localhost または \\COMPUTER-NAME に接続できなくなります。

fopen('TM-T88V')、fopen('\\.\TM-T88V') などを試しましたが、「[function.fopen]: ストリームを開くことができませんでした: そのようなファイルやディレクトリはありません」というメッセージが表示され続けます...」。

アクティブなネットワーク接続がなくても、ローカル (共有) プリンターに (できれば名前で) 接続するにはどうすればよいですか?

4

2 に答える 2

3

試しましたfopen("PRN", "w")か?

于 2012-04-22T16:41:09.270 に答える
0

PHP で印刷ジョブに使用しているコード スニペットを次に示します。

$handle = printer_open('Printer Name in windows here');

if($handle) { // Make sure the printer is present before sending the job
// print job here
}
于 2016-08-25T09:57:58.520 に答える