Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Memo mit 2DBarcode auf Printer.Canvas drucken (https://www.delphipraxis.net/180633-memo-mit-2dbarcode-auf-printer-canvas-drucken.html)

Alex_ITA01 4. Jun 2014 13:41

Memo mit 2DBarcode auf Printer.Canvas drucken
 
Hallo zusammen,
ich habe folgende Aufgabenstellung:
Einen 2D Barcode erzeugen (erstmal kein Problem) und mit mehreren verschiedenen weiteren Texten ausdrucken.
Generell habe ich vor, den Ausdruck direkt über das Objekt "Printer" zu erzeugen und auf dem seinem Canvas die visuelle Darstellung zu übernehmen. Ich muss viele Texte mit jeweils immer unterschiedlichen Inhalt ausdrucken und eben diesen 2D Barcode immer an eine feste Position.
Ich hatte eigentlich vor, den 2D Barcode in einem Memo anzeigen zu lassen (dies gibt die genutzte Barcode-Komponente her) und dann mit meinem Text "das Canvas vom Printer zu füttern".

Wisst ihr, ob das generell geht mit dem 2D Barcode im Memo -> Printer.Canvas oder ob es da andere Möglichkeiten gibt?

Viele Grüße

Medium 4. Jun 2014 14:13

AW: Memo mit 2DBarcode auf Printer.Canvas drucken
 
Wenn du den Code in einem normalen Memo hast, ist dieser doch bestimmt ein Font. Mit dem kannst du ebenso auch auf den Printer Canvas schreiben, wie jeden anderen Text auch.

Mavarik 4. Jun 2014 14:34

AW: Memo mit 2DBarcode auf Printer.Canvas drucken
 
Zitat:

Zitat von Medium (Beitrag 1261376)
Wenn du den Code in einem normalen Memo hast, ist dieser doch bestimmt ein Font. Mit dem kannst du ebenso auch auf den Printer Canvas schreiben, wie jeden anderen Text auch.

2D-Barcode als Font??? Normaler Stichcode (EAN,Code39 usw..) vielleicht aber kein MatrixCode...

Alex_ITA01 4. Jun 2014 14:45

AW: Memo mit 2DBarcode auf Printer.Canvas drucken
 
Also der 2D Barcode wird so ins Memo gebracht:

str := I.Encode('QRCode Barcode Delphi');
Memo1.Text := str;
Memo1.Font.Name := 'BcsQrcode';

Dies wird über eine zugekaufte Type Librabry übernommen.
Str ist ein WideString

Gruß
Alex

Medium 4. Jun 2014 14:49

AW: Memo mit 2DBarcode auf Printer.Canvas drucken
 
Dann gilt meine Aussage trotz 2D Barcode trotzdem. Es ist einfach ein Font nur dass der vermutlich keiner normalen Codierung entspricht, der String aber über dieses Encode passend gemacht wird. Stelle einfach beim Printer Canvas den Font ein, und tu das selbe wie auf dem Memo auch.

Mavarik 4. Jun 2014 16:09

AW: Memo mit 2DBarcode auf Printer.Canvas drucken
 
Zitat:

Zitat von Medium (Beitrag 1261388)
Dann gilt meine Aussage trotz 2D Barcode trotzdem.

Upps :stupid: Jede Bit-Kombination in einem Font...

Cool...

himitsu 4. Jun 2014 17:17

AW: Memo mit 2DBarcode auf Printer.Canvas drucken
 
Das ist so auch nicht das Problem.

Mit nur 17 Zeichen im Font, kann man locker einen 2D-Barcode erzeugen, der 1 bis 16-Punkte hoch und x Punkte breit ist.
PS: Man kann Zeichen übereinander drucken. Siehe das Ü, welches man auch aus einem U und dem ¨ (Diaeresis) als Pre-Composite zusammensetzen kann.

Und wenn man es ordentlich macht, dann lässt sich eine beliebig große Matrix erzeugen. (solange keiner den Zeilenabstand verändert)

Mavarik 5. Jun 2014 07:30

AW: Memo mit 2DBarcode auf Printer.Canvas drucken
 
OK...

Wenn ich also einen Font habe der 0-n Bit's darstellen kann, ist die Datenmendge ja viel geringer... oder?


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:02 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