Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#1

Und ewig grüsst das PDF...

  Alt 8. Okt 2018, 15:53
Hi Zusammen
Nach etlichen Versuchen mit diversen Engines bin ich jetzt wieder bei der Fernsteuerung des PDFCreators gelandet - allerdings benuze ich jetzt - anders als hier die beim Import automatisch generierten Komponenten-Wrapper.

Aberr auch da steh ich schon wieder auf dem Schlauch...
Bislang habe ich in einem Frame folgendes:
Delphi-Quellcode:
type
  TPDFCreatorFrame = class(TFrame)
    PdfCreatorObj1: TPdfCreatorObj;
    OutputFiles1: TOutputFiles;
    Printers1: TPrinters;
    PrintJob1: TPrintJob;
    PrintJobInfo1: TPrintJobInfo;
    Queue1: TQueue;
  private
   { Private-Deklarationen }
   FInputFileName: String;
   FOutputFileName :String;
   FFileName : WideString;

   procedure ImageToPDF;

  public
    { Public-Deklarationen }
    Property InputFile: String read FInputFileName write FInputFileName;
    Property OutputFleName : String read FOutputFileName write FOutputFileName;
  end;
Soweit mal der Aufbau des Frames mit allen importierten Wrappern. In einer ersten Prozedur versuche ich nun ein PDF zu erzeugen - die Zeile, in der abgebrochen wird, ist markiert und mit der Fehlermeldung ergänzt:

Delphi-Quellcode:
procedure TPDFCreatorFrame.ImageToPDF;
begin
  Showmessage('Initializing PDFCreator queue...');
  Queue1.Initialize;
  Showmessage('Setting up target path to: ' + Self.FFileName);
  Showmessage('Printing one windows test page...');
  if not Self.Queue1.WaitForJob(10)then
    Showmessage('The print job did not reach the queue within ' + IntToStr(10) + ' seconds')
  else
    Showmessage('Currently there are ' + IntToStr(Queue1.Count) + ' job(s) in the queue');
  Showmessage('Getting job instance');
  PrintJob1 := Queue1.NextJob; //<==[dcc32 Fehler] PDFCreatorFrameUnit.pas(70): E2010 Inkompatible Typen: 'TPrintJob' und 'IPrintJob'
  Self.PrintJob1.SetProfileByGuid('DefaultGuid');
  Showmessage('Converting under \"DefaultGuid\" conversion profile');
  Self.PrintJob1.ConvertTo(FFileName);
  if not Self.PrintJob1.IsSuccessful and not Self.PrintJob1.IsFinished then
    Showmessage('Could not convert the file: ' + FFileName)
  else
    Showmessage('Job finished successfully');
  Queue1.ReleaseCom;

end;
Die entsprechenden Zeilen in dem Beispielscript:
Delphi-Quellcode:
//   var job = PDFCreatorQueue.NextJob;
//
//   //Alternative: job.SetProfileByName("DefaultGuid");
//   //For converting to other formats than pdf set here the appropriate conversion profile
//   job.SetProfileByGuid("DefaultGuid");
Was mache ich falsch?

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat