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
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?
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
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.