Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#21

AW: [Komponente] Barcode für Delphi (Zint)

  Alt 12. Aug 2013, 07:50
Im Moment kommt als Resultat ein Bitmap heraus, das man dann auf die beliebige Größe skalieren kann (bei 2D natürlich nur proportional).
Ich habe beim Thema Barcodes und Drucker bisher auch immer mit Bitmaps gearbeitet. Ist ein solider Weg, allerdings eben sehr sehr mühsam wenn man millimetergenau drucken will. Da dein Code freie Skalierung zulässt ist das schon mal ein dicker Pluspunkt. Denn das was ich bisher verwende, kann nicht linear skalieren sondern nur schrittweise. Anscheinend geht man da intern davon aus, dass bei einem 1D-Barcode ein breiter Strich immer ein Vielfaches der Breite eines schmalen Striches sein MUSS und vergisst dabei die Fehlerkorrektur der Barcodescanner.

Meiner Erfahrung nach muss ein breiter Strich nur deutlich breiter sein als ein schmaler Strich, gleiches gilt für die Lücken. Dann lassen sich Barcodes auch frei skalieren.

Der Korrektheit halber würde ich dir einen "Strikt-Mode" empfehlen, bei dem sich dein Code verhält wie oben beschrieben (standardkonform) und eine Art "Quirks-Mode", der frei skalieren kann.

Hat hier jemand Erfahrungen damit, wie man Vektordaten erzeugt und an den Drucker schickt? Delphi kapselt den Printer ja als Canvas-Objekt, daher geht wohl alles als Bitmap rüber. Wenn man sich aber z.B. mal einen A4-Etikettenbogen vorstellt, denn man mit Barcodes bedrucken will, dann ist das (ja nach physischer Auflösung des Druckers) schon ein verdammt großes Bitmap. Bei meinem HP LaserJet 4050 sind das pro A4-Seite schon 25 MB.

Spaßeshalber habe ich so ein Bitmap mal durch den Vectorizer von Corel Draw gejagt und dann zum Drucker: Siehe da, ca. 280 kB Daten.

Für die Druckgeschwindigkeit bei Multipage-Ausdrucken ist die Datenmenge nicht zu unterschätzen. Besonders auffallend ist das dann, wenn der Drucker über sehr wenig RAM verfügt und der Treiber alles in kleinen Häppchen während des laufenden Druckauftrages "nachreichen" muss.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat