Ich versuche seit Tagen, die 64Bit Mac-Version von pdftotext auf einem Mac als command line laufen zu lassen.
Der Code dazu sollte ja eigentlich so sein:
Code:
{$IFDEF MACOS}
_system(PAnsiChar('open '+'"'+AnsiString(FilePath)+'"'));
{$ENDIF MACOS}
Aber egal welche Variationen ich probiere, es klappt nicht.
Hier ein paar meiner Versuche:
Code:
function TForm1.GetPDFtoText(Datei: string): boolean;
var
success: boolean;
begin
success := false;
{$IFDEF MACOS}
if FileExists('/Applications/[Appname]/pdftotext') then
begin
{... bis hierher komme ich. Ich habe festgestellt, das den exakten Pfad den
IncludeTrailingPathDelimiter(Extractfiledir(Paramstr(0))) + 'pdftotext' zurück gibt auf einem Mac offenbar nicht
verarbeitet wird.}
try
_system(PAnsiChar('open "' + AnsiString('/Applications/[Appname]/pdftotext ' + Datei + '"')));
_system(PAnsiChar('open ' + AnsiString('/Applications/[Appname]/pdftotext ' + Datei)));
_system(PAnsiChar(AnsiString('open "/Applications/[Appname]/pdftotext ' + Datei+'"')));
_system(PAnsiChar(AnsiString('open /Applications/[Appname]/pdftotext ' + Datei)));
_system(PAnsiChar('open -a"' + AnsiString('/Applications/[Appname]/pdftotext ' + Datei + '"')));
_system(PAnsiChar('open -a' + AnsiString('/Applications/[Appname]/pdftotext ' + Datei)));
_system(PAnsiChar('$ open "' + AnsiString('/Applications/[Appname]/pdftotext ' + Datei + '"')));
_system(PAnsiChar('$ open ' + AnsiString('/Applications/[Appname]/pdftotext ' + Datei)));
... usw, usw. Habe es auch ohne AnsiString() versucht. Die "-a" und "$" open Parameter habe ich in beim googeln
gefunden.
success := true;
except
end;
end
{$ENDIF MACOS}
else
showmessage('PdfToText im Programmverzeichnis nicht gefunden!');
Result := success
end;
Hat jemand eine zündende Idee oder es selber schon mal gemacht?