QR-Codes generieren mit Text im Layout

So ein kleines Update von mir :) also ich habe mich entschieden mich unabhängig von API´s zu machen und generiere den Code offline. Habe dank der Hilfe von einer sehr netten Person diese Variante übernommen: QR Code in VBA. Habe das ganze jetzt auch mal mit einem Zebra Drucker GK420t gedruckt und leider festgestellt das die Qualität nicht so berauschend ist, siehe Bild.

Dazu nochmal eine Frage. Den Drucker was ich habe hat eine Auflösung von 203 DPI. Jetzt ist für mich die Frage müssen es 600 DPI sein oder reicht der Mittelweg von 300 DPI? Der Drucker an sich sollte nicht größer als der jetzige Zebra GK420t sein. Die Etiketten bzw. auch der Druck muss UV beständig sein.
 

Anhänge

  • IMG_8603.jpg
    IMG_8603.jpg
    781,1 KB · Aufrufe: 349
Hallo Bermont,

wie genau druckst du deine Etiketten? Direkt aus Excel heraus das in Excel hinterlegte Bild? Stehen dir auch andere Möglichkeiten offen (z.B. über PDF)? Auf folgender Website hast du ein paar Infos bezüglich der Druckauflösung für QR Codes. Da kann man sich vielleicht etwas zusammenbauen zum Testen. Ich würde in dem Zusammenhang auch immer die Auflösung und Position des QR Codes passend wählen, dass der Drucker immer einen vollen Punkt an der Stelle setzen kann. Heißt ein Modul von dem QR Code muss von der Größe immer passend zur Druckerauflösung skaliert sein. Gerade bei geringen DPI wird das einen größeren Einfluss haben.
-->https://www.qrcode.com/en/howto/cell.html

Deine ursprüngliche Absicht ist zwar, dass das ganze komplett in Excel läuft, es wäre wahrscheinlich einfacher auf eine andere Sprache um zu schwingen und Excel quasi als Oberfläche zu behalten. Für Python gibt es schönes Add-In für Excel (xlwings). Dann könntest du auch dein ursprüngliches Design für den QR-Code mit Text leichter in Python umsetzen. Das sollte relativ einfach gehen und da findet man auch online eine Vielzahl von Tutorials, Beispielen etc.

Auf deinem Bild füllt der QR Code ja nur einen Teil des Etiketts. Ist das deine finale Größe für das Etikett? Was kommt da sonst noch drauf?

Ich bin kein Informatiker sondern nur ein gemeiner Maschinenbauer. Ich habe bei uns in der Firma sowas ähnliches für ein einmaliges Kundenprojekt kurzerhand selber gemacht (in Java).
 
  • Gefällt mir
Reaktionen: Bermont
Anfangs hatte ich es direkt mit der Vektorgrafik, die mir den QR-Code erstellt gemacht. Inzwischen wird es als Grafik eingefügt, da sich sonst das Excel-Programm aufhängt :)

Allgemein vom Ablauf her. Ich erstelle mir die Daten mit Excel und diese werden dann in einen QR Code geschrieben. Neben dem QR Code befindet sich noch ein Feld wo ein Text steht. Aktuell sind es zwei einzelne Grafiken für den QR Code und das Textfeld. Meinen QR-Code erstelle ich mir hiermit: Link

Die Größe von dem Etikett an sich sollte so klein wie möglich sein. Aktuell wird eins in der Größe von 25,4 x 10mm verwendet. Aber das ganze richtet sich ja nach dem QR Code. Problem ist, das ich aktuell viele Daten in dem QR Code habe und es auch erstmal dabei bleiben soll. An Daten was im QR Code steht ist folgendes enthalten:
Auftr.-Nr.: 12345
D.: 08.11.2021
S/N: 12345-21000

Von der Programmiersprache bleibt es auch bei VBA, da ich mich auch noch in VBA einarbeiten muss.
Wenn es mit dem QR Code nicht klappen sollte habe ich noch die Möglichkeit einfach auf DataMatrix zu wechseln. Da weiß ich allerdings noch nicht wie Fehlerbehaftet das wiederum ist.
 
Für den Inhalt, den du als Beispiel definiert hast, brauchst du 51 Zeichen. Heißt, dass du bei ECC Level M mind. Version 3 (max. 61 alphanum. Zeichen) brauchst und das führt dann zu 29x29 Modulen. Mit 200dpi und und 4-Punkt-Konfiguration für jedes Modul kommt man da auf eine Modulgröße von 0.5mm. Bei den 29 Modulen werden das dann 14,5mm ohne die vorzusehende keep-out-zone drumherum. Ich würde an deiner Stelle mal ausprobieren, wie sich der gedruckte Code verhält, wenn du die Variablen DPI und X-Punkt-Konfiguration änderst. Mit den Gedankenspielen kannst du dir auch schon im Vorhinein errechnen, welche Größe/Version der QR Code dann erhalten wird.

Makkaroni hat es ja schon leicht angedeutet, dass man an deiner Formatierung für den Text etwas drehen kann. Den QR Code nur für das Aussehen zu haben ist wohl eher suboptimal. Da kannst du am besten dann direkt so vorgehen, dass man das einigermaßen maschinenlesbar und effizient verarbeitet werden kann. Wie angesprochen das Datum drehen und vielleicht auch ohne mehrere Zeilen und zu viel Prosa arbeiten. Für dein Beispiel von oben wäre "AN,12345,D,2021.11.08,SN,12345-21000" doch schon ausreichend und trotzdem verständlich. Das würde dich dann knapp in Version 2 des QR Codes pushen und dein Code wird flächenmäßig ca. 25% kleiner bei gleichen Einstellungen. Den wirklichen Text unterhalb deines QR Codes kannst du dann ja trotzdem noch ganz ausschreiben.
 
  • Gefällt mir
Reaktionen: Bermont
So mal eine Frage zum Thema drucken. Ich habe das Problem, dass wenn ich meinen QR Code aus Excel drucke, die Qualität von dem QR Code schlechter ist. Wenn ich über die Software von Zebra drucke, ist der QR-Code deutlich sauberer. Habe mal ein Bild angefügt wie unterschiedlich der QR Code aussieht. Links im Bild der mit dem Zebra Designer gedruckt wurde und rechts der über Excel gedruckt wurde.

Vielleicht haben hier noch welche Tipps an was das ganze liegen könnte. Habe auch schon in Excel probiert die Grafik als Png oder jpeg Datei zu hinterlegen.
 

Anhänge

  • IMG_8670.jpg
    IMG_8670.jpg
    516,8 KB · Aufrufe: 237
Diese haben immer einfache Etiketten-Design- und -druckprogramme dabei. Dann liest das Eikettenprogramm die Daten aus Excel und erzeugt das Etikett

Ja "einfach" - Freeware. Die kostenlosen Z-Designer und CAB Label können das nicht. Ende. Gelände.

@TE
Google mal nach Codesoft - Sentinel oder Nicelabel - Powerforms bzw. CAB Database Connector.


So mal eine Frage zum Thema drucken. Ich habe das Problem, dass wenn ich meinen QR Code aus Excel drucke, die Qualität von dem QR Code schlechter ist.

Stell mal im Excel Treiber die Schwärzung auf 0 und probier es dann noch mal oder geh mit dem Speed runter.
bzw. zeig mal die Treibereinstellung von Zebra und dem Excel Treiber. bzw. durck mal in eine Datei und zeig die zpl Sequenz.

Halte mal die einzige Taste die er hat, gedrückt (wenn er an ist und grün leuchtet) und lass diese beim ersten Blinken los und zeig ein Bild vom Setup

Als Standard für Zebra gilt eigentlich Schwärzung 10, Speed 127mm/s.

Bei Excel ist es oft hilfrich die Einstellung noch in den Standardwerten des Treibers zu ändern. Grundsätzlich ist Excel kein Druckprogramm für Etikettendrucker, das gibt oft Probleme.

Zudem hast du nur einen 203dpi Drucker besser wird es damit nicht. Den du ohnehin bald wegwerfen kannst.
 
  • Gefällt mir
Reaktionen: Bermont
Wo kann ich in Excel die Schwärzung auf 0 einstellen? Wenn ich unter Druckereigenschaften gehe, kann ich dort die Grauabstufung einstellen (siehe Bild). Als Temperatur und Geschwindigkeit sind im Drucker auch andere Werte hinterlegt (siehe Bild). Im Anhang mal die Einstellungen die der Drucker ausgibt.

Bezüglich das Thema mit der Auflösung also den 203 DPI. Habe auch schon nachgelesen das eher 300 bis 600 DPI empfohlen werden. Nachdem ich jetzt aber das Druckergebnis über den Z Designer gesehen habe, gehe ich davon aus, das es an was anderem liegen würde. Dachte das es eventuell an der Programmierung oder an irgendwelchen Einstellungen seitens Windows/ Excel usw. liegen würde. Habe hierzu habe ich zu wenig Erfahrungen.

Habe mal noch ein Bild von den Einstellungen im Z-Designer mit angehängt.

Edit: So ich Ergänze mal. Habe inzwischen Herausgefunden das es Probleme gibt beim Umwandeln der Vektorgrafik in eine Grafik an sich. Jetzt ist die Frage wie kann ich das speichern ohne das die ganzen Vektorgrafiken in der Tabelle sind und Daten ohne Ende verbrauchen.
 

Anhänge

  • Grauabstufung.JPG
    Grauabstufung.JPG
    72,9 KB · Aufrufe: 231
  • Drucker Option.JPG
    Drucker Option.JPG
    45,5 KB · Aufrufe: 214
  • IMG_8675.jpg
    IMG_8675.jpg
    1,2 MB · Aufrufe: 202
  • IMG_8676.jpg
    IMG_8676.jpg
    850,6 KB · Aufrufe: 216
  • IMG_8677.jpg
    IMG_8677.jpg
    946,8 KB · Aufrufe: 209
  • Einstellungen Z Designer.JPG
    Einstellungen Z Designer.JPG
    83,8 KB · Aufrufe: 223
Zuletzt bearbeitet:
Grundsätzlich: Schwärzung/Kontrast/Hitze ist alles das selbe hießt nur je nach Treiber eben anders.

Weiterhin muss man wissen,das der Zebra Treiber (bzw. die Software von Zebra) anders arbeitet als ein Windows Treiber.
Bei Zebra addiert sich die Schwärzung mit der im Drucker hinterlegten, ohne die im Drucker zu ändern.
Also wenn im Drucker 10 hinterlegt ist und du sendest 10 mit hast du insgesamt 20. (Das Maximum ist 30)


Windowstreiber überschreiben die Schwärzung grundsätzlich, also bedeutet 20 im Treiber auch 20.

Daher ist das Ergebnis von Zebra mit 30 besser als Windows mit 15. Wobei 30 zu hoch ist und bedeutet du hast eine ungeeigente Folien/Etikettenkombination.

Falls der Drucker eine LAN Schnittstelle hat kann man die Schwärzung im Drucker über das Webinterface auch auf 0 einstellen. (Passwort 1234). Dann "Änderungen senden" und "Akteulle Konfig" speichern.

Man sollte so wenig Schwärzung wie möglich einstellen,da man hier die Ansteuerleistung der Dots verändert und mehr Schwärzung führt zu einem schnelleren Defekt des Druckkopfes.

Du kannst für Excel mal die Schwärzung in den Standardwerten des Treibers verändern. Erweiterte einstellungen, Standardwerte.

Generell würde ich dir dazu raten ein richtiges Etikettenprogramm zu verwenden, bzw. eine professionelle Software die sich die Daten nur aus Excel holt.

Die Graubstufung stellt man bei Thermotransferdruckern immer auf "kein", weil wir haben entweder schwarz oder weiß.

Es gibt die Möglichkeit Grafiken im Drucker zu hinterlegen und dann nur noch die Variablen zu befüllen, dann müssen dies nicht jedes mal geschickt und geladen werden.
Dafür ist der GK allerdings meist zu schwach auf der Brust.
 
  • Gefällt mir
Reaktionen: Bermont und kieleich
Danke für deine ausführliche Erklärung. Externe Software wollte ich erstmal nicht, bzw. komplett darauf verzichten da diese dann wiederum auf mehrern PC´s installiert werden muss usw.

Ich habe jetzt das ganze mal über eine ZPL-Datei ausprobiert und siehe da es funktioniert sehr gut.
 
Externe Software wollte ich erstmal nicht, bzw. komplett darauf verzichten da diese dann wiederum auf mehrern PC´s installiert werden muss usw.

Es gibt Netzwerkversionen (zumindest für die meisten)


Klar damit umgeht man ja quasi den Treiber.

Allerdings ist der GK20t nicht gerade das zuverlässigste Modell. Die haben die unangnehme Eigenschaft sich über kurz oder lang ihren Flash Speicher zu zerschießen (blinkt dann nur noch rot/grün) und da hilft nur ein Austausch des Mainboardes, was einfach UVP von Zebra mehr kostet als der Drucker.

Zudem steht der Preis vom Druckkopf in keinem Verhältnis zu dem Preis was der Drucker neu kostet.

Die G-Serie ist /war schon ganz ok. Aber wenn mal was damit ist, sind es einfach Wegwerfgeräte.
 
  • Gefällt mir
Reaktionen: Bermont
Problem ist das ich dabei dann auch von Software abhängig wäre. Sobald sich da was ändert muss ich es wiederum bei mir im Code mit anpassen. Vorallem ich das Projekt nur anfange und in Zukunft dann nicht weiter betreue.

Also was das Gerät an sich angeht mit Langlebigkeit usw. das ist in meinem Unternehmen egal :) notfalls wird es eben neu gekauft. Bei unseren Geräten werden unter anderem CAB Drucker wie auch Toshiba oder der genannte Zebra Drucker verwendet. Die kann ich alle mit ZPL ansprechen. Der Drucker sollte eben Kompakt sein, da dieser auf ein PC Gestellt drauf kommt was man in der Halle rumschieben kann. Ob man das irgendwann mal ändert ist mir für dieses Projekt egal. Mir geht es nur um die zielführende Umsetzung :)
 

Ähnliche Themen

Zurück
Oben