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:
E questo funziona.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); ";
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:
Premesso che i codici H,V ecc. sono corretti perchè presi dal manuale ufficiale alla stampa non accade nulla.codice:$stx = chr(2); $etx = chr(3); $esc = chr(27); $label = $stx . $esc . "H400" . $esc . "V100" . $esc . "XL1SATO" . $esc . "Q1" . $esc . "Z" . $etx;
Secondo me sono i codici STX, ETX e ESC che non vengono creati correttamente.
Dove sbaglio?
Grazie
ciao

Rispondi quotando