Domanda

Can punto qualcuno nella giusta direzione per la stampa di codici a barre utilizzando Java? Posso utilizzare la libreria barbecue ( http://barbecue.sourceforge.net/ ) per generare loro i codici a barre come immagini, ma ho bisogno di un modo per mettere l'immagine (e la didascalia leggibile) in un modello di documento Avery per la stampa.

È stato utile?

Soluzione

La libreria iText supporta praticamente ogni tipo di codice a barre che si possa immaginare. È possibile generare file PDF e sia salvarli o stamparli internamente.

Altri suggerimenti

Suggerisco utilizzando la libreria barcode4j invece di barbecue per 2 motivi:

  1. oggetti Griglia per codice a barre sono inutilmente accoppiati ai componenti Java UI (classe esempio barre estende JComponent). Questo crea dipendenze non necessarie se non viene utilizzato l'interfaccia utente Java, per esempio per batch o riga comandi applicazioni basate. Essi dovrebbero hanno usato l'aggregazione piuttosto che eredità se volevano usare le loro classi di codici a barre con il Java UI.

  2. Barcode4J sembra che è attualmente supportato - versione 2.0 rilasciata e data di copyright è il 2012

Poi si ha il problema di tradurre il codice a barre in un formato che la stampante capisce. Per questo suggerisco openlabelprint.org (che ho scritto!) - è un altro progetto open source che utilizza barcode4j e prevede:

  • servizi per definire una SVG layout di etichetta utilizzando (Scalable Vector Graphics - uno standard W3C aperto) e

  • rasterizzazione a una bitmap del SVG da barcode4j (e il layout dell'etichetta circostante in SVG) (openlabelprint applica le eccellenti librerie Apache SVG Batik Java per la rasterizzazione e per altri compiti SVG)

  • stampa del bitmap sulle stampanti Zebra utilizzando il loro linguaggio di basso livello ZPL. openlabelprint è dotato di un programma di utilità per convertire le bitmap png per ZPL e inviare questo alla stampante Zebra attraverso il sistema di stampa standard di Java. Anche openlabelprint fornisce le API per estendere per altri linguaggi di stampante se ZPL è supportato da alcune marche non-Zebra

Sono la stampa di codici a barre utilizzando Java, ma sto usando una stampante che hanno una funzione di pre-programmati per la stampa di codici a barre. Così sto solo dicendo quello che la stampante per stampare i codici e lo fa il resto. Se siete disposti a pagare per una stampante che potrebbe ti consente di risparmiare un po 'di tempo.

Questo può o non può essere utile a voi, ma ho pensato di parlarne.

Credo che si dovrà misurare la vostra pagina di etichette Avery con un righello e poi nel codice Java, si dovrà creare una lettera piena / A4 / qualunque pagina da stampare e offset l'immagine del codice a barre su quella pagina per l'appropriata posizione, sulla base di misurazioni con il righello.

Hai provato la stampa di immagine che avete ottenuto da "barbecue"?

Si dovrebbe cercare JZebra questo è un applet e un buon punto di partenza per voi, date un'occhiata al codice sorgente di Java.

http://code.google.com/p/jzebra/

Per zebra te questa semplice guida vi aiuterà. Su questo comandi Zebra

N
q609
Q203,26
B26,26,0,UA0,2,2,152,B,"777777"
A253,56,0,3,1,1,N,"JHON3:16"
A253,26,0,3,1,1,N,"JESUSLOVESYOU"
A253,86,0,3,1,1,N,"TEST TEST TEST"
A253,116,0,3,1,1,N,"ANOTHER TEST"
A253,146,0,3,1,1,N,"SOME LETTERS"
P1,1

sulle JZebra

     var applet = document.jzebra;
     if (applet != null) {
applet.append("N\n");
applet.append("q609\n");
applet.append("Q203,26\n");
 applet.append("B26,26,0,UA0,2,2,152,B,\"777777\"\n");
applet.append("A253,56,0,3,1,1,N,\"JHON3:16\"\n");
applet.append("A253,26,0,3,1,1,N,\"JESUSLOVESYOU\"\n");
applet.append("A253,86,0,3,1,1,N,\"TEST TEST TEST\"\n");
applet.append("A253,116,0,3,1,1,N,\"ANOTHER TEST\"\n");
applet.append("A253,146,0,3,1,1,N,\"SOME LETTERS\"\n");
applet.append("P1,1\n");}

Avendo chiaro questo:

EPL è un comando per riga. Un comando inizia con un identificatore di comando, tipicamente una lettera, seguita da un elenco separato da virgole di parametri specifici del comando. È possibile cercare ognuno di questi comandi nella documentazione di programmazione EPL2. Ecco una versione in lingua inglese dei comandi nell'esempio di cui sopra.

  1. L'invio di un ritorno a capo iniziale garantisce che qualsiasi precedente borked   il comando è presentata.
  2. [N] Cancella tampone l'immagine. Questo è un passo importante e   generalmente dovrebbe essere il primo comando in qualsiasi documento EPL;   chissà quale stato del lavoro precedente ha lasciato la stampante in.
  3. [q] Impostare la larghezza dell'etichetta a 609 punti (3 pollici etichetta x 203 dpi   = Larghezza 609 punti).
  4. [Q] Impostare l'altezza etichetta per 203 punti (etichetta 1 pollice) con un 26   gap punto tra le etichette. (La stampante probabilmente auto-   senso, ma questo non fa male.)
  5. [B] Disegnare un codice a barre UPC-A con valore "777777" alla   x = 26 punti (1/8 in), y = 26 punti (1/8 in) con una barra stretta   larghezza di 2 punti e rendono 152 punti (3/4 in) di altezza. (Il   origine del sistema di coordinate etichetta è l'angolo superiore sinistro   dell'etichetta.)
  6. [A] Disegnare il testo "JESUSLOVESYOU" a   x = 253 punti (3/4 in), y = 26 punti (1/8 pollici) in   font di stampa "3", normale scala orizzontale e verticale,   e nessun effetto fantasia bianco-su-nero.

Tutti Tha A linee che iniziano sono simili. 10. [P] Stampare una copia di un'etichetta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top