Ich möchte aus einer Delphi
Win32 Anwendung heraus ein PDF Dokument öffnen (bzw. ein XDP Dokument).
Im Forum hab ich jetzt 2 Möglichkeiten gefunden.
Zum einen direkt über ShellExecute und über das
ActiveX Control.
Ich kenne vom Acrobat her das
OLE Objekt AcroExch.App, mit dem ich recht schnell ein PDF in einem Acrobat hab aufmachen können. DIe Möglichkeit fand ich eigentlich am schönsten. Aber das gibts beim Reader nicht.
Angenommen ich würde über das
ActiveX gehen, ist das vollständig kompatibel zwischen den Versionen (Kunden müssen sowiso min. Acrobat Reader 8 installiert haben), also kann ich damit rechnen dass wenn AcrobatReader 9 rauskommt das
ActiveX immer noch funktioniert?
Anderes Problem mit dem ActivX:
Wenn ich ein PDF angebe wird das problemlos geöffnet. Geb ich ein XDP Dokument an öffnet sich der Acrobat Reader in einem eigenen Fenster (nicht
ActiveX) und sagt mir das Dokument würde nicht mit %PDF beginnen. Das XDP Dokuement lässt sich aber eigentlich bequem über acrord32.exe datei.xdp öffnen.
Als einzige Alternative könne ich wirklich über ShellExecute gehen, es könnte aber sein dass XDP Dateien beim Kunden mal nicht mit dem AcroRead verknüft sind, also muss man im Programm zuerstmal den Pfad zur AcroRead32.exe angeben damit man es dann direkt öffnen kann.
ALso alles eigentlich keine praktikablen Lösungen. Hat jemand was besseres?
Da vielleicht einigen das XDP Format unbekannt ist:
XDP ist eine
XML-Datei die die Daten für ein Formular enhält sowie einen Link zu dem PDF Dokument in dem die Daten angezeigt werden sollen. So kann man recht einfach ein Formular und eine Application erstellen das aus einer Kundendatenbank z.B. eine solche XDP Datei mit Adresse, Telefonnummer usw. erzeugt und setzt einen Link zu dem eigentlichen PDF Dokument rein. Ruft man das XDP Dokument mit dem AcroRead32.exe auf, wird das fertig ausgefüllte Formular angezeigt.