ActiveX Druckoutput manipulieren



  • Hallo,

    ich hab mir was überlegt:

    Ich muss aus diversen Anwendungen z.B. Barcodes drucken. Die Darstellung will ich über ActiveX Objekte machen, beim Drucken aber, darf kein Bitmap generiert werden, sondern ein best. Bytefolge.

    Z.B. "\x1B""B""EAN13""012345678912"

    Ich weiß ja mit *->IsPrinting wann gedruck wird, aber wie kann dich den Ausgangsbuffer manipulieren. (Und geht das überhaupt, vor dem eigentlichen Rendern durch die GDI bzw. Druckertreiber??)

    Schönen Dank,

    Christian



  • Wenn ich Dich richtig verstehe, hast Du ein ActiveX, welches Bytefolgen erwartet, und daraus Barcodes generiert? Dann ist es doch kein Problem, dem ActiveX diese Zeichenfolgen zu übergeben!



  • Nein,

    das darstellen des Barcodes auf dem Bildschirm ist klar - das läuft über Parameter oder ähnliches.

    Das Problem entsteht wenn die Dinger gedruckt werden sollen, dann nämlich sollte in der Spooldatei für den Drucker kein codiertes Bitmap oder so stehen, sondern die Bytefolge. "\x1B""B"...

    Das ganze funktioniert dann mit Etikettendruckern, die sich den Barcode selbst aus der Bytefolge "ausrechnen".

    Ich brauch also sowas wie nen Buffer im ActiveX Objekt der an das Drucksystem geschickt wird oder eine Funktion die das steuert.

    Danke für die Hilfe,

    Christian



  • Wenn Du das ActiveX editieren kannst, wird ja die Funktion IViewObject::Draw aufgerufen. Über den DVTARGETDEVICE-Parameter könntest Du dann entscheiden, ob es sich um einen Etikettendrucker handelt. Wie man jetzt aber diese Zeichenfolge an den Druckertreiber schickt .. k.A. !



  • Danke,

    das könnte helfen, falls ja stell ich das ganze hier rein, vielleicht interresiert es ja den ein oder anderen 😉

    Schöne Grüße,

    Christian


Anmelden zum Antworten