![]() |
Webbroser Componente zum PDF-Anzeigen
Ich benutze die Webbrowser-Komponente zum anzeigen von .pdf Dokumenten, das funktioniert soweit ganz gut.
Leider ist das Problem, dass dabei ja immer der aktuelle AcrobatReader aufgerufen wird und ich dieses Programm nicht wieder schließen kann. Es kommt immer wieder mal vor, dass sich der AcrobatReader nicht wieder schließt und damit die zuletzt benutzte .pdf datei nicht wieder freigibt. Ich muss die angezeigte Datei in ein anderes Verzeichnis kopieren und umbenennen und dann im alten Verzeichnis wieder löschen. Das löschen funktioniert aber nicht, wenn die Datei noch in Benutzung ist. Zur Zeit behelfe ich mich damit, dass ich den AcrobatReader aus dem TaskManager lösche (KillProcId) und dann die Datei lösche. Das funktioniert aber auch nicht immer, da es ja etwas dauert bis die Datei freigegeben ist. Ich habe schon einen sleep nach dem KillProcId eingebaut, das hilft aber auch nicht immer. Kann sein, dass ich mir viel zu viel Arbeit mache, aber ich kann es nicht anders. Es gibt doch bestimmt eine einfachere Lösung. Den Acrobat über ActiceX oder Dll ansprechen fällt weg, da ich icht weiß, welche Acrobatversion auf dem jeweiligen Computer installiert ist und die verschiedenen Acrobatversionen sich nich gleich ansprechen lassen. |
Re: Webbroser Componente zum PDF-Anzeigen
Hallo Smiley,
die Verschachtelung von WebBrowser und Acrobat Reader ist nicht wirklich nötig:
Delphi-Quellcode:
Warum du das Fenster auch wieder schließen willst habe ich nicht verstanden.
ShellExecute(Handle, 'open', 'c:\media\ebooks\assemblerbuch.pdf', '', '', SW_SHOWNORMAL);
marabu |
Re: Webbroser Componente zum PDF-Anzeigen
Das mit shellexecute habe ich auch gemacht, aber ich benötige die anzeige meist in einem festen Fesnster in meinem Formular.
Daher die Webbrowserlösung. Mein Problem ist, dass ich die PDF-Datei die mit dem AcrobatReader gerade geöffnet ist, nicht löschen kann. |
Re: Webbroser Componente zum PDF-Anzeigen
Gibt´s nicht ´ne direkte Komponente (Typbibliothek), die man nutzen kann, sobald der Reader installiert ist? :gruebel: Dürfte doch besser sein als der Weg über den IE.
|
Re: Webbroser Componente zum PDF-Anzeigen
Zitat:
delphi > komponente > ActiveX Control importieren im folgenden dialog das Control "Adobe Acrobat x.0 Browser Control Library" installieren. aenogym übrigens: netter avatar, smiley :mrgreen: |
Re: Webbroser Componente zum PDF-Anzeigen
Das mit dem activX habe ich oben schon erwähnt, ist aber sehr aufwendig, wenn man es für mindestens 3 verschiedene Acrobat Reader Versionen schreiben muss und nicht weiß welche auf dem system gerade läuft.
Dazu kommt noch, dass es ab Acrobat7 kein activeX mehr gibt, sondern nur ein .dll Wenn einer die verschiedenen Varianten für wenigstens 3 Versionen in den Griff bekommt, dann wäre das eine Lösung. |
Re: Webbroser Componente zum PDF-Anzeigen
Zitat:
@Smiley: Was heißt beenden? Hängt sich der Reader im IE auf? Hast du evtl. die .0er-Versionen installiert. Vor allem die 6.0er-Version ohne Updates ist absoluter Mist. Einfach die passenden Updates installieren und ein Vielzahl der Probleme sind gelößt. |
Re: Webbroser Componente zum PDF-Anzeigen
Mein Windows und IE ist immer auf dem neuesten Stand, daran kann es nicht liegen.
Des öfteren bleibt nach dem Verlassen meines Programmes immer noch ein Acroread32 im Taskmanager stehen, obwohl auf dem Bildschirm nichts vom AcrobatReader zu sehen ist (Auch nicht in der Takleiste). Wenn mein Programm dann wieder aufgerufen wird und etwas anzeigen will, hängt das Programm fest. Im Delphi2005 habe ich im Startbildschirm, wenn ich eine .pdf Datei anklicke, links daneben eine Vorschau gesehen, da wird doch auch kein AcrobatReader aufgerufen, das geht ganz schnell, wie machen die das. |
Re: Webbroser Componente zum PDF-Anzeigen
Zitat:
Zitat:
|
Re: Webbroser Componente zum PDF-Anzeigen
Hallo Smiley,
keine Ahnung, wie Borland das in Delphi 2005 macht, aber du könntest dir für 250 Euronen eventuell eine Menge Ärger sparen... Schau mal hier: ![]() |
Re: Webbroser Componente zum PDF-Anzeigen
@Geyer nein ich verwende den normalen Reader, der ist schon schlimm genug. Mit dem Writer dauert es ja ewig bis da was kommt und der läd seine features auchnoch jedesmal neu.
@marabu ja, genau von WPCubed hatte ich schon das WPTools getestet und mich gewundert, warum da nichts mit PDF-anzeigen geht. jetzt da ich mir die Seite mal angesehen habe, sehe ich, dass ich einfach das falsche Tool in den Händen hatte. Das WPViewPDF scheint genau das richtige zu sein (es gibt auch noch das Programm PDFView, das scheint aber den Acrobat zu benutzen). Das Problem ist nur, dass ich mein Programm erst mal ausreichend oft verkaufen muss, um mir den WPViewPDF leisten zu können. Danke fürs suchen marabu (ich hätte mal anständig die Augen aufmachen sollen als ich bei WPCubed war) |
Re: Webbroser Componente zum PDF-Anzeigen
Folgende Fallstricke gibt es noch zu beachten:
- Wenn ein alter Reader/Vollversion installiert ist so muß diese Deinstalliert werden. Wird nur die neue Version installiert ist meißt die Readerinstallation kaputt (mit diversen Auswirkungen) - Die Acrobat-Version 6.00 ist vollkommener Müll. Da sind noch einige Riesenbugs drin. Also auf jedenfall Updaten |
Re: Webbroser Componente zum PDF-Anzeigen
Den Acrobat Reader 6.00 habe ich gerade drauf.
Die 7er Version läuft bei mir mit einigen alten Ptogrammen nicht. Gibt es eine andere 6er Version oder besser auf die 5er gehen ? |
Re: Webbroser Componente zum PDF-Anzeigen
Zitat:
![]() Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:41 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