Thema: PDF Merge

Einzelnen Beitrag anzeigen

HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
970 Beiträge
 
Delphi 6 Professional
 
#29

AW: PDF Merge

  Alt 5. Okt 2021, 10:18
Hmm...

Ja ich habe überall wo "Ansi" steht UTF8 eingesetzt. Fehler kamen keine...
Aufgeruft habe ich die Funktion an dieser Stelle
Delphi-Quellcode:
...
    FGsInit := GetProcAddress(FDLLHandle, 'gsapi_new_instance');
    Result := (FGsInit(@FGsInstance, nil) = 0);
    if Result then
    begin
      Fgsapi_set_arg_encoding := GetProcAddress(FDLLHandle, 'gsapi_set_arg_encoding');
      Fgsapi_set_arg_encoding(FGsInstance, GS_ARG_ENCODING_UTF8);
...
Die Reihenfolge ist bei mir:

gsapi_new_instance
gsapi_set_arg_encoding
gsapi_init_with_args
gsapi_exit

Bei den Argumenten (gsapi_init_with_args) muss der erste Eintrag ein '' sein, da dieser von der GS-APi ignoriert wird (https://www.ghostscript.com/doc/current/API.htm#init).

Bei den anderen Argumenten, welche Strings als Wert enhalten musst du deinen Delphistring mit UTF8Encode nach UTF umcodieren!

Einfach nur aus 'AnsiString' ein 'UTF8String' zu machen, wird wohl nichts bringen...

Sprich z.B. (Src von gaisser):

Delphi-Quellcode:
      SetLength(FParameters, 8);

      FParameters[0] := '';
      FParameters[1] := '-dNOPAUSE';
      FParameters[2] := '-dBATCH';
      FParameters[3] := '-Author=ProTRxxx Software GmbH';
      FParameters[4] := '-Creator=ProTRxxx Software GmbH';
      FParameters[5] := '-dPDFSETTINGS=/printer';
      FParameters[6] := '-sDEVICE=pdfwrite';
      FParameters[7] := PAnsiChar(AnsiString('-sOutputFile=' + UTF8Encode(OutputFile)));
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat