Einzelnen Beitrag anzeigen

FrankJ28

Registriert seit: 7. Apr 2008
211 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Quickreport und Windows-Pdf-Printer

  Alt 1. Dez 2020, 18:03
Hallo und vielen Dank an euch.
Da der QR in QRPRNTR bei Druckerwechsel jeweils ein eigenes GetPrinter, SetPrinter durchführt löse ich das durch Setzen des gewünschten PDF-Names in der aufrufenden Routine. Dort wechsle ich ja auch automatisch auf den PDF-Printer.

Code:
Printer.PrinterIndex := Printer.Printers.IndexOf('Microsoft Print to PDF'); // MS PDF-Drucker
Printer.Title:='xyz.pdf'; // der gewünschte Dateiname
In der Unit QRPRNTR habe ich dann die Prozedur ResetDriver aufgeschlaut und schaue, ob ein Pdf erzeugt werden soll. Wenn ja, dann setze ich den Port eben mit diesen Dateinamen.

Code:
procedure ResetDriver(aPrinter : TPrinter);
var
  Device, Name, Port: array[0..MAX_PATH] of Char;
  DevMode: THandle;
begin
  aPrinter.GetPrinter( Device, Name, Port , DevMode );
  if Pos('.pdf',aPrinter.Title)>0
     then aPrinter.SetPrinter( Device, Name, PWideChar(aPrinter.Title) , 0 )
     else aPrinter.SetPrinter( Device, Name, Port , 0 );   // 12/02/16
end;
Danke und ciao

Frank
"Sage was du tust, und tue was du sagst"
Johannes Rau
  Mit Zitat antworten Zitat