Einzelnen Beitrag anzeigen

Stewag

Registriert seit: 12. Jun 2008
161 Beiträge
 
Delphi 12 Athens
 
#1

PDFtoText auf Mac ausführen

  Alt 28. Jan 2021, 18:31
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?
Steffen

Geändert von Stewag (28. Jan 2021 um 18:35 Uhr)
  Mit Zitat antworten Zitat