AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Druck Image auf PDF kommt ohne Farbe

Ein Thema von gullatrulla · begonnen am 26. Nov 2007 · letzter Beitrag vom 26. Nov 2007
Antwort Antwort
gullatrulla

Registriert seit: 11. Mai 2004
Ort: Malans (Schweiz)
43 Beiträge
 
Delphi 11 Alexandria
 
#1

Druck Image auf PDF kommt ohne Farbe

  Alt 26. Nov 2007, 12:42
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
  Mit Zitat antworten Zitat
MStoll

Registriert seit: 15. Nov 2005
131 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Druck Image auf PDF kommt ohne Farbe

  Alt 26. Nov 2007, 13:14
Hi,

versuch's mal so. Das "zwingt" den Drucker, ein Farbdrucker zu sein.


Delphi-Quellcode:
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;
Gruß
Michael
"Man soll nie mehr essen als mit Gewalt reingeht!" (n.n.)
  Mit Zitat antworten Zitat
gullatrulla

Registriert seit: 11. Mai 2004
Ort: Malans (Schweiz)
43 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Druck Image auf PDF kommt ohne Farbe

  Alt 26. Nov 2007, 13:46
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz