Einzelnen Beitrag anzeigen

philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
898 Beiträge
 
Delphi 10.4 Sydney
 
#1

Aufrufen des Default-PDF-Viewer unter Linux

  Alt 10. Dez 2018, 16:16
Hallo allerseits,

hat jemand eine Idee, wie man unter Linux eine Datei (z.B. PDF) mit dem jeweiligen Default-Viewer aufrufen kann?
Bisher funktioniert dies bei mir schon mal unter Windows, Android (hier beschränkt in untenstehendem Code auf PDF) und MacOS:

Delphi-Quellcode:
procedure TicTrainerF.displayPDFFileInDefaultViewer(filename:String);
 {$IF DEFINED(ANDROID)}
 var fileuri: JParcelable;
 Intent: JIntent;
 {$ENDIF}
 {$IFDEF MACOS}
 var Workspace: NSWorkspace;
 {$ENDIF}
begin
  {$IFDEF MSWINDOWS}
    ShellExecute(0,'open',pchar(filename),nil,nil,SW_shownormal);
  {$ENDIF}
  {$IFDEF ANDROID}
    fileuri := JParcelable(TJNet_Uri.JavaClass.fromFile(TJFile.JavaClass.init(StringToJString(filename))));
    Intent := TJIntent.Create;
    Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
    intent.setType(StringToJString('application/pdf'));
    Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM, fileuri);
    TAndroidHelper.Activity.StartActivity(Intent);
  {$ENDIF}
  {$IFDEF MACOS}
    Workspace := TNSWorkspace.Create;
    Workspace.openFile(NSSTR(filename));
  {$ENDIF}
  {$IFDEF LINUX}
    //todo
  {$ENDIF}
end;
Grüße, Philipp
  Mit Zitat antworten Zitat