Ciao,
ho delle stampanti industriali con relativi codici di programmazione alle quali devo inviare in formato testo appunto la stringa per stampare.
Ad es. per le AVE** ho un codice simile a questo:
codice:
// Definisco l'etichetta
$label = "
#G --- Interface activation ---
#!A1
#G --- Material information ---
#IMS70/70
#G --- National character set ---
#N13
#G --- Start of label format ---
#ERN///0.00
ecc. ecc.
// Apro il socket di comunicazione verso la stampante
$fp = @fsockopen($printerIp, 9100, $errorNumber, $errorString, 2);
// Stampo la stringa sul socket
fwrite($fp, $label);
";
E questo funziona.
Ora devo fare la stessa cosa con un'altra marca di stampanti (SA**) che hanno codici diversi da inviare.
Il problema è che questi codici non sono dei semplici caratteri (come il cancelletto) bensì caratteri di inizio e fine trasmissione ed escape (STX, ETX, ESC).
Non riesco a capire come inserire nella stringa questi caratteri. Ho provato in questo modo:
codice:
$stx = chr(2);
$etx = chr(3);
$esc = chr(27);
$label = $stx . $esc . "H400" . $esc . "V100" . $esc . "XL1SATO" . $esc . "Q1" . $esc . "Z" . $etx;
Premesso che i codici H,V ecc. sono corretti perchè presi dal manuale ufficiale alla stampa non accade nulla.
Secondo me sono i codici STX, ETX e ESC che non vengono creati correttamente.
Dove sbaglio?
Grazie
ciao