Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   FastReport, Barcode, Codeauflösung (https://www.delphipraxis.net/170528-fastreport-barcode-codeaufloesung.html)

t0mmy 21. Sep 2012 10:36

FastReport, Barcode, Codeauflösung
 
Hallo!

Mal so eine Frage zum Barcode im FastReport. Wie finde ich herraus welche Auflösung sprich (in mm) mein Barcode hat und wo ich diesen ändern kann?

Danke im Vorraus!

Sir Rufo 21. Sep 2012 10:49

AW: FastReport, Barcode, Codeauflösung
 
So hatte ich mir die Frage noch nie gestellt ;)

Ich nehme den passenden Barcode-Typ und gebe die längste zu erwartende Datenfolge für den Barcode als Musterdaten ein und passe dann diesen GAB (Größt Anzunehmenden Barcode) in das Formular ein, so dass dieser auch noch gesichert vom Scanner gelesen werden kann.

RWarnecke 21. Sep 2012 10:51

AW: FastReport, Barcode, Codeauflösung
 
Irgendwie verstehe ich die Frage nicht. Es gibt unterschiedliche Barcodes, die eine gewisse Standardgröße habe. Wenn Du die Größe des Barcodes veränderst, kann es passieren, dass ein Scanner den Barcode lesen kann und ein zweiter Scanner nicht, obwohl beide Scanner für den Barcode richtig konfiguriert sind.

p80286 21. Sep 2012 10:55

AW: FastReport, Barcode, Codeauflösung
 
Herausfinden kannst Du das hier(zumindestens als Einstieg, und ändern ist bei den meisten Barcodes nicht zulässig, bzw nur in engen Grenzen möglich, da die Scanner auf bestimte Abmessungen angewiesen sind.


Gruß
K-H

der rote Kasten hat Urlaub!
Es ist Freitag

Sir Rufo 21. Sep 2012 11:06

AW: FastReport, Barcode, Codeauflösung
 
Einen Barcode kann ich so groß oder so klein drucken wie ich den benötige.

Folgende Abhängigkeiten bestimmen, wie groß der Barcode gedruckt werden soll/muss um noch erkannt zu werden
  • Auflösung des Printmediums
  • Entfernung von Barcode und Scanner
  • Auflösung des Scanners

Lemmy 21. Sep 2012 11:13

AW: FastReport, Barcode, Codeauflösung
 
Zitat:

Zitat von Sir Rufo (Beitrag 1183851)
Einen Barcode kann ich so groß oder so klein drucken wie ich den benötige.

oder eben so groß wie die Spezifikation / Pflichtenheft es vorsieht ;-)

Allerdings verstehe ich die Frage nicht - Auflösung gibt man nicht in mm an sondern in dpi. Die Breite der Barcodes in FastReport (ich habe mir mal ein paar angesehen) kann man da gar nicht ändern, sondern über den Zoomfaktor das Bild halt größer machen. Die Breite des Barcodes kannst Du dann über die Komponente abfragen... Aber erzähl erst mal was du eigentlich brauchst...

Grüße

shmia 21. Sep 2012 15:36

AW: FastReport, Barcode, Codeauflösung
 
Zitat:

Zitat von Sir Rufo (Beitrag 1183851)
Einen Barcode kann ich so groß oder so klein drucken wie ich den benötige.

Aber nur in der Höhe; nicht in der Breite. (ich rede jetzt nur von 1D-Barcodes)

Ein senkrechter Strich eines Barcodes kann auf dem Drucker nur eine bestimmte Anzahl von Dots haben. (es gibt keine halben Dots)
Das ist die Modulbreite.
Angenommen die Modulbreite wäre auf einem 203dpi-Drucker gleich 7 Pixel und ein bestimmter Barcode wäre 4,8cm breit.
Dann wäre der Barcode bei einer Modulbreite von 8 Pixel plötzlich 5,48cm breit.
Damit ist es nicht möglich den Barcode genau 5cm breit zu machen, sondern es gibt prinzipbedingt immer Sprünge in der Breite.

Bei unterschiedlichen Druckerauflösungen ist es manchmal leider notwendig per Code etwas nachzuhelfen:

Delphi-Quellcode:
// Beispiel für das Anpassen eines 2/5-Interleaved Barcode an 2 versch. Auflösungen
procedure TPrtLabel.SetResolution203dpi;
begin
   // bei 203 dpi hat der schmale Balken 3 Pixel
   // und der breite hat 9 Pixel
   // die Gesamtbreite des Barcode beträgt dann ca. 84mm
   ppBarCode2.BarWidth := 0.381; // in mm
   ppBarCode2.WideBarRatio := 3.125;
end;

procedure TPrtLabel.SetResolution300dpi;
begin
   // bei 300 dpi hat der schmale Balken 6 Pixel
   // und der breite hat 13 Pixel
   // die Gesamtbreite des Barcode beträgt dann ca. 100mm
   ppBarCode2.BarWidth := 0.5;
   ppBarCode2.WideBarRatio := 2.2;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz