Seite 1 von 1
PDF Datei mit externem Programm öffnen
Verfasst: 18. Mai 2008 16:01
von AROK
Hallo zusammen,
ich habe ein Programm, das Daten als PDF-Datei ausgibt. Wenn der Benutzer den PDF-Export startet, möchte ich gern anschließend das erzeugte PDF öffnen lassen.
Weiß Jemand von euch wie ich das Plattform unabhängig hinbekommen kann?
Danke und Grüße
AROK
Verfasst: 18. Mai 2008 16:06
von -=Freaky=-
ich wuesste nicht, dass es sowas wie "default pdf viewer" im system (in welchem auch immer) gibt.
ansonsten evtl. nen eigenen kleinen pdf-viewer mit einbauen oder so.
mfg,
julian
Verfasst: 18. Mai 2008 17:20
von dontinelli
Du könntest auch den
QPrintPreviewDialog benützen. Zwar wird der standartmässig im Voraus angezeigt, aber was spricht dagegen, es mal umgekehrt zu tun?
Oder wie gesagt ein eigenes Tool schreiben...
CHeers
DonTinelli
PS Vielleicht wäre auch das QPrintPreviewWidget passender...
Verfasst: 18. Mai 2008 19:16
von AROK
Du könntest auch den QPrintPreviewDialog benützen. Zwar wird der standartmässig im Voraus angezeigt, aber was spricht dagegen, es mal umgekehrt zu tun?
Oder wie gesagt ein eigenes Tool schreiben...
Danke, Das werde ich mir mal ansehen.
Eine andere Idee, die ich schon hatte, das ganze unter Windows und Linux separat zu handhaben.
Unter Windows herausfinden welches Programm vorhanden ist bzw in der Registry dem Dateityp zugeordnet und es dann aufrufen.
Unter Linux muss ich mir noch was überlegen.
Alternativ dem Benutzer im Settings Dialog das Programm auswählen lassen. (Die einfachste Möglichkeit, aber mit arbeit für den Benutzer)
Am schönsten wäre natürlich wenn QT schon irgendeine Funktion für diesen Fall hätte...
Grüße
AROK
Verfasst: 19. Mai 2008 07:54
von macman
-=Freaky=- hat geschrieben:ich wuesste nicht, dass es sowas wie "default pdf viewer" im system (in welchem auch immer) gibt.
Preview von Mac OS zeigt so ziemlich alles an, auch PDFs, und das deutlich schneller als irgendwas von Adobe. Die meisten User werden irgendwas zum PDF betrachten installiert haben, ausser Win hat wahrscheinlich auch jedes System was von Haus aus dabei.
Warum es also nicht dem System überlassen? Qt hat dafür QDesktopServices implementiert, mit dem man dem System sagen kann, es solle doch eine URL öffnen. URL = Uniform Resource Locator, und das hat nichts mit dem Internet zu tun. Das kann genauso eine Dateiangabe auf der Festplatte oder einem Fileserver sein.
QDesktopServices::openUrl(QUrl(myPDFPathFileName)); öffnet unter XP jedenfalls den Acrobat Reader mit dem angegebenen File.
Verfasst: 19. Mai 2008 19:43
von AROK
Danke Macman, funktioniert unter Windows und Linux (bisher nur mit mit KDE getestet) einwandfrei, genau was ich gesucht habe!