AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PDFtoText auf Mac ausführen

Ein Thema von Stewag · begonnen am 28. Jan 2021 · letzter Beitrag vom 31. Jan 2021
Antwort Antwort
Stewag

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

PDFtoText auf Mac ausführen

  Alt 28. Jan 2021, 19: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 19:35 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: PDFtoText auf Mac ausführen

  Alt 28. Jan 2021, 23:14
Wenn AnsiString(), dann um alles, also PAnsiChar(AnsiString(...)), sonst macht das alles eh keinen Sinn.

Gibt es denn kein _system mit PChar/PWideChar?


Sicher, dass OPEN überhaupt der richtige Befehlt ist?
https://scriptingosx.com/2017/02/the...-open-command/
Sieht für mich fast so aus, als wenn Open ohne -a alles öffnet, also dein "Programm" womöglich nicht ausführt, sondern versuht es als Pfad zu öffnen.

Bzw., kann man bei -a den kompletten Programm-Pfad angeben, oder nur so eine "Kurz"-Kennung?

Aber per se scheint es ohne -a oder -b nicht zu gehn, jedenfalls nicht beim OPEN.
https://osxdaily.com/2007/02/01/how-...-the-terminal/

PS: Warum erst weg mit dem Trenner und dann wieder rein?
IncludeTrailingPathDelimiter(ExtractFileDir(Paramstr(0))) = ExtractFilePath(Paramstr(0))
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Stewag

Registriert seit: 12. Jun 2008
175 Beiträge
 
Delphi 12 Athens
 
#3

AW: PDFtoText auf Mac ausführen

  Alt 31. Jan 2021, 07:56
Arigato Himitsu!
da es mir aber auch mit Deinen Hinweisen nicht gelungen ist, habe ich mich für den Einsatz einer Komponente entschieden.
Vielleicht hast du Recht damit, dass der open Befehl nur öffnen und nicht ausführen kann.
Steffen
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz