![]() |
Druck Image auf PDF kommt ohne Farbe
Hi Delphi Folks
Ich plage mich zur Zeit mit folgendem Phänomen herum: Ich drucke ein farbiges TImage auf meinen PDF-Drucker (PDF Creator 0.9.3). Wenn der Standartdrucker von Windows auf diesem PDF-Drucker steht funktioniert der Druck korrekt in Farbe. Wenn aber der Standartdrucker z.B. auf einem HP Laserjet 2100 definiert ist, und ich den Drucker mittels Printer.Printerindex übersteuere, wird das Image schwarz/weiss im PDF ausgegeben. [delphi] procedure TForm1.Button1Click(Sender: TObject); var Rect : TRect; begin Printer.PrinterIndex := 1; {ist PDF-Drucker} Printer.BeginDoc; with Printer.Canvas do begin Rect := Bounds(1500, 500, 1000 , 500); StretchDraw(Rect,Image.Picture.MetaFile); end; Printer.EndDoc; end; Wenn ich mittels TPrintDialog den Drucker übersteuere funktioniert es auch. Es soll im Programm automatisch (ohne PrintDialog) funktionieren. Wo liegt mein Denkfehler. Oder hat dies jemand anderes von Euch auch schon gehabt (und evtl. sogar gelöst) Herzlichen Dank zum voraus. Roland |
Re: Druck Image auf PDF kommt ohne Farbe
Hi,
versuch's mal so. Das "zwingt" den Drucker, ein Farbdrucker zu sein.
Delphi-Quellcode:
Gruß
procedure TForm1.Button1Click(Sender: TObject);
var Rect : TRect; Device, Driver, Port: array[0..80] of Char; DevMode: THandle; pDevmode: PDeviceMode; begin Printer.PrinterIndex := 1; {ist PDF-Drucker} // Start Printer.GetPrinter(Device, Driver, Port, DevMode); if Devmode <> 0 then begin pDevMode := GlobalLock(Devmode); if pDevmode <> nil then try with pDevmode^ do begin dmColor := DMCOLOR_COLOR; //dmColor := DMCOLOR_MONOCHROME; end; finally GlobalUnlock(Devmode); end; end; // Ende Printer.BeginDoc; with Printer.Canvas do begin Rect := Bounds(1500, 500, 1000 , 500); StretchDraw(Rect,Image.Picture.MetaFile); end; Printer.EndDoc; end; Michael |
Re: Druck Image auf PDF kommt ohne Farbe
Hallo MStoll
Jaaaaaaaaaaaaaaaaaaaaaa, funzt! Dass ich den PDF-Drucker als Farbdrucker "übersteuern" muss wäre mir nicht im Traum eingefallen. Herzlichen Dank für Deine Hilfe. Roland |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 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