fuxas ha scritto:
Salve a tutti,
vorrei riuscire ad utilizzare la stampante Printf! direttamente da browser utilizzando appunto il webservice http://[indirizzo IP STAMPANTE]/service.cgi.
In pratica ho questa pagina php ospitata nel dominio "esempio.it" per inviare i comandi alla stampante tramite POST all'indirizzo locale 192.168.1.9 della stampante.
<?php
$ipAddr = "192.168.1.9";
$xmlCommand = '<?xml version="1.0" encoding="UTF-8" ?>';
$xmlCommand .= "<Service>";
$xmlCommand .= "<cmd>=K</cmd>";
$xmlCommand .= "<cmd>=o</cmd>";
$xmlCommand .= '<cmd>="/(SCONTRINO NON FISCALE DI PROVA:)</cmd>';
$xmlCommand .= '<cmd>="/()</cmd>';
$xmlCommand .= '<cmd>="/(DESCRIZIONE 1 MAX 32 CARATTERI)</cmd>';
$xmlCommand .= '<cmd>="/()</cmd>';
$xmlCommand .= '<cmd>="/(TEST BARCODE)</cmd>';
$xmlCommand .= '<cmd>="/$8/(04100320154500005152)</cmd>';
$xmlCommand .= '<cmd>="/( )</cmd>';
$xmlCommand .= '<cmd>="/( FINE SCONTRINO )</cmd>';
$xmlCommand .= '<cmd>=o</cmd>';
$xmlCommand .= "<\Service>";
?>
<form target="myIframe" action="http://<?php echo $ipAddr;?>/service.cgi" method="POST" enctype="application/xml">
<textarea name="xml" ><?php echo $xmlCommand;?></textarea>
<input type="submit" value="esegui test di stampa" >
<iframe name="myIframe" ></iframe>
</form>
La stampante mi restituisce errore 101... che sul manuale non è documentato...
Secondo voi dove sbaglio?
Ho provato ad inviare i dati anche tramite ajax/javascript ma il browser mi blocca le connessioni Cross Domain e non sò come aggirare l'ostacolo...
Io sto provando con il protocollo standard USB/Seriale perchè lo avevo già implementato anni fa, il codice indicato nel manuale è il seguente (vedi paragrafo):
2.5.12 LISTA COMANDI GESTIONE LOTTERIA
Comando =”/?L/$1/(codice lotteria)
=C1
=R1/$1000/(articolo 1)
=R2/$2000/(articolo 2)
=”/?L/$1/(F1234567)
=T1
=c
Ho implementato lo stesso codice di esempio da un cliente che ha già l'RCH Print F abilitato alla lotteria degli scontrini, secondo la normativa non si potrebbe usare T1 (contanti) quindi ho provato sia con T3 che con T4.
Purtroppo però lo scontrino che viene stampato correttamente non riporta il codice lotteria inviato, anche se il protocollo (standard via USB/Seriale) risponde correttamente a tutte le istruzioni inviate, quindi la procedura è formalmente corretta e corrisponde a quella indicata nel manuale RCH.
Il fornitore RCH mi ha inviato solo il manuale del protocollo ma non dispone di alcuna procedura di test quindi sono completamente al buio! O_o