![]() |
Pdf-View in Delphi - Gibt es sowas?
Moin, moin
Frage: Gibt es eine Möglichkeit Pdf-Files in Delphi anzuzeigen? Grüße // Martin |
Re: Pdf-View in Delphi - Gibt es sowas?
Ja, du kannst den Acrobat Reader als ActiveX-Objekt einbinden. Die Befehle sind relativ selbsterklärend.
Ratte |
Re: Pdf-View in Delphi - Gibt es sowas?
Hi Ratte
Hm, ja leider braucht man für jede Acrobat-Version ein eigenes OCX. Das ist ja etwas leidig... Grüße // Martin |
Re: Pdf-View in Delphi - Gibt es sowas?
Die neuesten Versionen können auch die PDF-Dateien der alten Versionen anzeigen.
Du kannst aber auch einfach TWebBrowser nehmen und dort das PDF laden. Wenn das OCX entsprechend Konfiguriert ist (was fast immer der Fall ist), so wird im IE das OCX geladen und das PDF angezeigt. Alle anderen Lösungen funktionieren zwar für 90% der PDF, jedoch werden meißt nicht alle Features der PDF-Definition unterstützt (oder etwas unterschiedlich). |
Re: Pdf-View in Delphi - Gibt es sowas?
Moin, moin
Ok, werde mal antesten... Danke Euch beiden ! Grüße // Martin |
Re: Pdf-View in Delphi - Gibt es sowas?
Was spricht denn dagegen, wenn Du Deine pdf-Doks einfach so zur Anzeige bringst :
Code:
Falls auf einem PC Acrobat Reader installiert ist, dann ist dort die Datei-Endung '.pdf' auchErgebnis:= ShellExecute (Application.Handle,'open', pchar('Dein_Dokument.pdf'), nil,nil,SW_SHOW) mit Acrobat-Reader verknüpft und wenn Du das so über ShellExecute aufrufst, dann schaut das System einfach in der Registry nach, welche Anwendung mit der Datei-Endung '.pdf' verknüpft ist und findet dann den Acrobat-Reader und öffnet Dein Dokument damit. Acrobat-Reader ist mittlerweile ein Standard, der auch schon von vielen Standard-Programmen voraus gesetzt wird. Ich denke, Du kannst das Vorhandensein des Acrobat-Readers dann auch bei Deinem Delphi-PGM voraus setzten. Notfalls muss der Benutzer sich den Reader eben runterladen . Außerdem gibt es das Teil auf so ziemlich jeder Heft-CD von so ziemlich jeder Computer-Zeitschrift. Ergebnis ist dabei eine Integer-Variable aus der Du anschliessend heraus lesen kannst, ob der Aufruf geklappt hat oder nicht. (< 32 heißt in dem Fall, dass ein Fehler aufgetreten ist). Falls Du allerdings Deine pdf's unbedingt in einer Delphi-Form anzeigen lassen willst, dann geht das nur über diesen ActiveX-Kram, der hier schon erwähnt wurde. Wenn Du das machst, dann solltest Du aber auch das Formular, auf dem Du dieses Acrobat-ActiveX integrierst, dynamisch erzeugen. Wenn Du es statisch erzeugst könntest Du hässliche Systemfehlermeldungen bekommen, sobald Du Deine Anwendung irgendwo startest, wo es Acrobat nicht gibt. P.S. die Funktion ShellExecute findest Du übrigens in der Unit ShellAPI. |
Re: Pdf-View in Delphi - Gibt es sowas?
Moin, moin Delphi_Fanatic
ja da habe ich auch schon mal überlegt. Der Hintergrund, dass ich das in einem Form eingebunden haben möchte sind einige Funktionen, die auf Buttons am Formrand liegen. Im Prinzip scheint das mit dem Acrobat Active-X auch zu gehen. Danke übrigens für den Tipp des dynamisch Eerstellens ! Die Alternativen haben derzeit Preise wo ich im Moment denke, dass ist es dies nicht Wert ist. Grüße // Martin |
Re: Pdf-View in Delphi - Gibt es sowas?
TWebBrowser Komponente rulet :chat:
Einfach webbrowser.navigate('pdfdatei.pdf'); und schon bekommst Du egal welche Acrobate Version installiert das ordentlich angezeigt incl. Druckermodul etc... ick habs so gemacht ;-) Gottes Segen ;-) |
Re: Pdf-View in Delphi - Gibt es sowas?
Da gibt es bei SourceForge ein Teil, was Ghostscript heist.
Schau dich dort mal um. Ich das kann man in Delphi einbinden und damit PDF-Dateien öffnen. |
Re: Pdf-View in Delphi - Gibt es sowas?
Hallo PhilGo
Uhps Ghostscript/Ghostview kenne ich, aber das man die irgendwie in Delphi einbingen kann ist mir neu. Hast dazu eine Link ?? Grüße // Martin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz