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)));