ProHoster > blog > amministrazione > Configurazione di una stampante per etichette XPrinter su Linux in VMware Workstation
Configurazione di una stampante per etichette XPrinter su Linux in VMware Workstation
Un esempio di configurazione su CentOS senza shell grafica; per analogia, è possibile configurare su qualsiasi sistema operativo Linux.
Sto risolvendo un problema specifico: devo stampare etichette con testo arbitrario utilizzando un modello PHP. Poiché durante l'evento non si può contare su una connessione Internet stabile e la maggior parte delle attività di automazione si sovrappongono al sito Web, abbiamo deciso di lavorare con una macchina virtuale su VMware.
XPrinter è adatto anche per contrassegnare attività, l'installazione sotto Windows è molto più semplice. Ho optato per il modello XP-460B con una larghezza dell'etichetta fino a 108 mm.
Dato che raramente configuro Linux e collego dispositivi ad esso, ho cercato manuali di configurazione già pronti e ho capito che il modo più semplice per collegare una stampante è tramite cups. Non sono riuscito a collegare la stampante tramite USB, nessuna manipolazione seguendo i consigli nei manuali ha aiutato, ho semplicemente bloccato più volte la macchina virtuale.
Scarica i driver dal sito Web del produttore xprintertech.com, sono disponibili in un archivio per Windows, Mac e Linux
Nel mio caso, sul sito Web sono pubblicati i driver per una serie di dispositivi Driver per stampante per etichette da 4 pollici. A quanto pare, l'XP-460B è già fuori produzione; ho capito a quale serie appartiene basandomi sulle briciole di pane di un modello simile, l'XP-470B.
Installa la stampante in Windows, abilita la condivisione
Per Linux, l'archivio contiene 1 file 4BARCODE. Questo è un file “2 in 1”, uno script bash con un archivio tar che si decomprime e copia i driver in cups. Nel mio caso, per disimballare è necessario bzip2 (per la serie 80 mm viene utilizzato un archiviatore diverso)
yum install cups
yum install bzip2
chmod 744 ./4BARCODE
sh ./4BARCODE
service cups start
Successivamente è necessario aprire localhost:631 nel browser, per comodità scelgo l'impostazione per l'apertura dal browser in Windows. Modifica /etc/cups/cupsd.conf:
Listen localhost:631 меняем на Listen *:631
<Location />
Order allow,deny
Allow localhost
Allow 192.168.1.*
</Location>
<Location /admin>
Order allow,deny
Allow localhost
Allow 192.168.1.*
</Location>
Apriamo il collegamento nel browser utilizzando l'IP della macchina virtuale, nel mio caso 192.168.1.5:631/admin
Aggiungi una stampante (è necessario inserire root e password)
Ci sono 2 opzioni che sono riuscito a configurare, tramite il protocollo LPD e tramite samba.
Per connettersi tramite il protocollo LPD, è necessario abilitare il servizio in Windows (Attiva o disattiva i componenti di Windows) e riavviare il computer.
Nelle impostazioni di cups, inserisci lpd://192.168.1.52/Xprinter_XP-460B, dove 192.168.1.52 è l'IP del computer su cui è installata la stampante, Xprinter_XP-460B è il nome della stampante nelle impostazioni di condivisione di Windows
Selezionare il driver 4BARCODE => 4B-3064TA
Non selezioniamo né salviamo nulla nei parametri! Ho provato a regolare le dimensioni dell'etichetta, ma per qualche motivo la stampante non funziona. La dimensione dell'etichetta può essere specificata nel lavoro di stampa.
Proviamo a stampare una pagina di prova: fatto!
Seconda opzione. Devi installare samba, avviare, riavviare cups, quindi apparirà un nuovo punto di connessione in cups, nelle impostazioni inserisci una riga come smb://user:[email protected]/Xprinter_XP-460B. Laddove l'utente è un utente Windows, l'utente deve avere una password impostata, l'autorizzazione non funziona con una password vuota.
Quando tutto ha funzionato e la stampante ha stampato una pagina di prova, i lavori possono essere inviati tramite la console:
In questo esempio l'etichetta ha dimensioni di 100x100 mm, sperimentalmente sono stati selezionati 2 mm. La distanza tra le etichette è di 3 mm, ma se si imposta l'altezza su 103 mm, il nastro si sposta, rendendo scomodo strappare l'etichetta. Lo svantaggio del protocollo LPD è che i lavori vengono inviati come a una normale stampante, il formato ESC/P0S non viene inviato per la stampa e il sensore non calibra le etichette.
Quindi puoi lavorare con la stampante tramite php. Esistono librerie per lavorare con cups, per me è più semplice inviare un comando alla console tramite exec();
Poiché ESC/P0S non funziona, ho deciso di creare modelli in pdf utilizzando la libreria tFPDF