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;