Stampa un codice a barre su un Intermec PB20 tramite l'API LinePrinter
-
09-06-2019 - |
Domanda
Qualcuno sa come stampare un codice a barre sulla stampante Bluetooth Intermec PB20 da un'applicazione Windows Compact Framework?Attualmente stiamo utilizzando l'API Intermec LinePrinter ma non siamo riusciti a trovare un modo per stampare un codice a barre.
Soluzione
Grazie a tutti per i vostri pensieri.La stampa direttamente sulla porta seriale è probabilmente il metodo più flessibile.In questo caso non volevamo replicare tutto il lavoro già integrato nella dll Intermec per la gestione della porta, degli errori della stampante, ecc.Siamo riusciti a farlo funzionare inviando alla stampante i codici appropriati per commutarla in una modalità diversa e quindi passare i comandi diretti alla stampante in questo modo.
Ecco la nostra soluzione nel caso in cui qualcun altro riscontrasse un problema simile lavorando con le stampanti Intermec.Il codice seguente è un caso di test che non rileva errori della stampante, tentativi, ecc.(Vedi esempi di codici Intermec.)
Intermec.Print.LinePrinter lp;
int escapeCharacter = int.Parse("1b", NumberStyles.HexNumber);
char[] toEzPrintMode = new char[] { Convert.ToChar(num2), 'E', 'Z' };
lp = new Intermec.Print.LinePrinter("Printer_Config.XML", "PrinterPB20_40COL");
lp.Open();
lp.Write(charArray2); //switch to ez print mode
string testBarcode = "{PRINT:@75,10:PD417,YDIM 6,XDIM 2,COLUMNS 2, SECURITY 3|ABCDEFGHIJKL|}";
lp.Write(testBarcode);
lp.Write("{LP}"); //switch from ez print mode back to line printer mode
lp.NewLine();
lp.Write("Test"); //verify line printer mode is working
Sul sito di supporto di Intermec è disponibile un documento tecnico denominato "Manuale tecnico" che descrive il codice per il controllo diretto della stampante.La sezione su Easy Print descrive come stampare una varietà di codici a barre.
Altri suggerimenti
L'ultima volta che ho dovuto stampare codici a barre (nonostante la stampante o il framework) ho fatto ricorso a un font True Type con il codice a barre di cui avevo bisogno.(Nel mio caso era EAN-13 qualcosa), un codice a barre europeo.
Esistono caratteri in cui scrivi semplicemente numeri (e/o lettere quando supportati) e ottieni un codice a barre perfetto che qualsiasi scanner può leggere :)
Google è tuo amico.Non so se ce ne sono di gratuiti.
La ringrazio per la risposta.Sono disponibili font gratuiti, tuttavia la PB20 è una stampante portatile con alcuni font integrati.Ha la capacità di stampare codici a barre e può essere manipolato direttamente tramite la porta seriale.Intermec fornisce un'API .Net CF per rendere la stampa "facile" ed è utilizzando questa API che non siamo riusciti a capire come dire alla stampante di stampare un codice a barre.
Elimina tutte le API e utilizza direttamente un'API della porta seriale.
Parla il linguaggio della stampante e puoi ottenere risultati decenti.Ogni altro approccio porta alla frustrazione.Non così carino, ma è così che funzionava la mia vecchia fabbrica.4.000 lavori di stampa al giorno e nessuno è mai mancato.
Questo è 3 su 9 (a volte chiamato "Codice 39"), uno standard di codice a barre ampiamente usato che include lettere di capitale, numeri e diversi simboli.Questo non è il codice a barre per UPC (Codici di prezzo universali) presenti sui prodotti nel negozio.Tuttavia, la maggior parte dei tipi di scanner di codici a barre riconoscerà bene 3 su 9.