Buongiorno a tutti,
dopo vari tentativi sono riuscito a stampare uno scontrino tramite codice PHP, utilizzando cURL e il protocollo XON/XOFF, contenente:
- 2 articoli su reparti diversi con quantità diverse
- sconto a valore sul subtotale
- pagamento in contanti con resto
- stampa codice a barre alla fine dello scontrino
Il codice è il seguente:
<?php
$ip = '192.168.1.10';
$porta = '23';
$stringa = (string) 'a"Articolo 1"100H5R"Articolo 2"2*100H1R=50H4M500H1T"1234567890123"3Z';
$url = "http://".$ip.":".$porta."/service.cgi";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $stringa);
curl_exec($ch);
curl_close($ch);
?>
Il codice è strutturato come segue:
- a => apertura cassetto
- "Articolo 1"100H5R => descrizione Articolo 1 con prezzo 1.00€ su reparto 5
- "Articolo 2"2*100H1R => descrizione Articolo 2 con prezzo 1.00€, quantità 2 su reparto 1
- = => stampa subtotale
- 50H4M => sconto sul subtotale a valore di 0.50€ (non può essere la prima transizione)
- 500H1T => pagamento in contanti di 5.00€
- "1234567890123"3Z' => stampa codice a barre alla fine dello scontrino (solo numeri e con opzione fidelity attiva)
La stringa deve essere su un'unica linea, no più linee, non viene letto il codice dalla seconda linea in poi, settare sulla stampante protocollo pc XON/XOFF, settare sulla stampate connessione TCP.
L'unico inconveniente è che la stampante prima di stampare lo scontrino emette a video il codice errore E20 sequenza errata, ma poi stampa lo scontrino tranquillamente, ho cercato nei manuali cosa significasse l'errore, e sembra che manchi un terminatore alla fine della stringa.
Ho provato a cercare cosa fosse, ma senza risultati, qualcuno sa come risolvere questo errore?
Grazie mille.