Hallo Zusammen, ich habe einen Application, die in MFC programmiert wurde. Der Kunde möchte gerne auf einen Knopdruck, dass die Anleitung(PDF) sich öffnen. Meine Frage an der jenigen, die sich mit MFC sich auskennen: Wie Umständlich ist so eine Erweiterung? Worauf ist zu achten? Danke in Voraus
Einfach per ShellExecute den Standard PDF Viewer aufrufen? Es muss dann halt einer installiert sein, aber das haben die meisten ja.
Mit MFC hat das nicht zwingend etwas zu tun. Die einfachste Herangehensweise ist es, dem Betriebssystem die Datei zu übergeben - das sucht dann das zuständige Programm zur Anzeige aus und ruft es auf. Das setzt natürlich voraus, daß auf den verwendeten Rechnern ein PDF-Betrachter installiert ist, was aber bei neueren Windows-Versionen tatsächlich der Fall ist. Alternativ kannst Du mit Deinem Programm beispielsweise SumatraPDF ausliefern, das ist kompakt und startet (im Gegensatz zu Adobes Acrobat) sehr schnell. Einen PDF-Betrachter in Dein Programm zu integrieren ist erheblich aufwendiger; es gibt prinzipiell die Möglichkeit, einen installierten Acrobat Reader als ActiveX-Komponente anzusteuern, das aber ist eine seit Jahrzehnten(!) ungepflegte und sehr instabile Angelegenheit, und setzt natürlich auch wieder die Installation des Acrobat Reader voraus. Du kannst auch eine kommerzielle Komponente zum Anzeigen von PDF-Dateien verwenden, so vertreibt die Firma "Glyph and Cog" einen gut integrierbaren PDF-Betrachter: https://www.glyphandcog.com/XpdfViewer.html Ob Deinem Kunden aber dessen Preis gefällt ... Sonst ist Selbstbasteln angesagt. SumatraPDF liegt im Sourcecode vor, aber der Aufriss, daraus einen als DLL oder statische Library integrierbaren Betrachter zu machen, dürfte ein erheblicher sein.
Rufus Τ. F. schrieb: > Mit MFC hat das nicht zwingend etwas zu tun. Die einfachste > Herangehensweise ist es, dem Betriebssystem die Datei zu übergeben - das > sucht dann das zuständige Programm zur Anzeige aus und ruft es auf. was meinst du bitte damit? Wie kann das Betriebsystem die Datei übergeben? Eine zweite Frage bitte: Gibt es bitte einen Tutorial für MFC und PDF Integration? Danke
Marcel_Bern schrieb: > Wie kann das Betriebsystem die Datei übergeben? Wie bereits geschrieben, mit ShellExecute. Dann sucht Windows selbstständig nach einem Programm zum Öffnen der Datei, genau so als hättest du sie im Explorer angeklickt. Diese Funktion ist eine Windows Funktion, die hat mir MFC nix zu tun, die funktioniert aus allen Windows Programmen heraus. Marcel_Bern schrieb: > Eine zweite Frage bitte: Gibt es bitte einen Tutorial für MFC und PDF > Integration? Brauchst du wirklich für eine einzelne Zeile ein Tutorial?
Hallo, Einen andere Frage: wenn das Acrobat Reader nicht auf dem PC vorhanden ist, gibt es einen andere Möglichkeit trotzdem das PDF zu öffnen?
Marcel_Bern schrieb: > Hallo, > > Einen andere Frage: > wenn das Acrobat Reader nicht auf dem PC vorhanden ist, gibt es einen > andere Möglichkeit trotzdem das PDF zu öffnen? "Ich zeige dir ein PDF an"-Programme gibt es säckeweise. Google hilft. Mit ShellExecute() ist das banal einzubinden.
Joachim D. schrieb: > Mit ShellExecute() ist das banal einzubinden Mit diese FKT lässt sich eine PDF einfach öffnen. Diese FKT setzt voraus das Acrobat Reader vorhanden sein sollte.
Diese Lösung setzt voraus, dass das Acrobat installiert ist. Eine andere Frage: Gibt es eine andere Möglichkeit ohne der acrobat installiert zu haben einen PDF Dokument zu öffnen?
Marcel_Bern schrieb: > Eine andere Frage: Um das zu präzisieren: für die Acrobat Active-X-Komponente muss natürlich der Acrobat Reader installiert sein. Da der kostenlos ist, ist das wohl zumutbar, ich fürchte aber, dass du den nicht selbst mit ausliefern darfst, nur einen Link dazu. Für die ShellExecute-Variante (unbedingt bevorzugt) kann es ein beliebiger PDF-Reader sein, er muss aber in Windows als Standardprogramm für PDF registriert sein. Die meisten Reader machen das schon bei der Installation. Einfach mal ein PDF anklicken, was für ein Programm dann startet. Das Problem: das muss der Kunde machen, schwierig wenn er noch weniger Ahnung hat. In Officedateien oder in HTML-Webseiten genügt ein Link auf eine PDF-Datei, dann startet ein Reader oder es kommt die Box mit der Frage Anzeigen, Speichern. Aber auch das hängt vom System des Kunden ab, viel Spass beim Service. Georg
Ich habe das acrobat von meinem Rechner entfernt und habe versucht in einem Demo das
1 | ShellExecute(NULL, _T("open"), _T("irgendwas.pdf"), NULL, NULL, 0); |
zu starten. Das PDF wird schon geöffnet aber in Firefox. Warum gerade Firefox?
Weil sie in den Fuchs einen PDF-Anzeiger reingepfriemelt haben.
Joachim D. schrieb: > Weil sie in den Fuchs einen PDF-Anzeiger reingepfriemelt haben. Sorry Das verstehe ich wirklich nicht
Da die Application auf einen PC (nur touchscreen) installiert ist, habe ich folgende Frage: Wie sieht es aus mit der Eingabemöglichkeiten? Danke
anders gefragt: Wie sieht es aus, wenn ich das PDF in der Applcation in einem extra registerkarte öffne?
Marcel_Bern schrieb: > Warum gerade Firefox? Weil Firefox als Standardprogramm für PDF eingerichtet ist, nachdem du den Acrobat Reader entfernt hast. Hättest du in der Zwischenzeit ein anderes PDF-Anzeigeprogramm installiert wäre es eben das. Wie du siehst gibt es unzählige verschiedene Konstellationen, die sich auch jederzeit ändern können. Sicher bist du nur, wenn du in die Software selbst eine PDF-Anzeige einbaust, aber so wie du fragst liegt das Lichtjahre jenseits deiner Möglichkeiten. Georg
Marcel_Bern schrieb: > Wie sieht es aus, wenn ich das PDF in der Applcation in einem extra > registerkarte öffne? Wenn das bedeuten soll, daß Dein Programm die PDF-Datei anzeigen soll, dann s.o. - wie man PDF-Anzeiger integrieren kann, hab' ich Dir heute um Dreiviertel Neun schon beschrieben.
georg schrieb: > Um das zu präzisieren: für die Acrobat Active-X-Komponente muss > natürlich der Acrobat Reader installiert sein. Da der kostenlos ist, ist > das wohl zumutbar, ich fürchte aber, dass du den nicht selbst mit > ausliefern darfst, nur einen Link dazu. Die meisten machen es zwar, aber ein Zwang, ausgerechnet Adobe-Software installieren zu müssen, behagt nicht jedem. Auch kostenlos ist manchmal zu teuer.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.