![]() |
Pdf im TWebBrwoser anpassen
Ich habe - nach vergeblichen Versuchen mit dem ocx von Acrobat - mich entschieden die Pdf-Datein im TWebBrowser zu laden. Nun hatte ich mit TAcroPdf die Möglichkeit bistimmte Anpassungen vorzunehmen: Zoom einstellen, Menu unterdrücken usw. Geht das im TWebBrowser auch noch ... sieht sonst nicht so gut aus.
|
Re: Pdf im TWebBrwoser anpassen
Ich denke nicht das man da groß was machen kann, weil in TWebBrowser wird ja das Adobe Reader/Acrobat Plugin benutzt auf das du ja keinen Einfluss hast so weit ich weiß, lasse mich aber gern belehren.
Edit: Ich würde dir Empfehlen wieder eine Komponente zu benutzten die auf PDF speziallisiert ist. Dann hast du auch volle Zugriffmöglichkeit (Sofern die Kompo das hat :mrgreen: ) |
Re: Pdf im TWebBrwoser anpassen
Die (minimalen) Möglichkeiten des OCX hast Du im TWebBrowser auch. Du mußt "nur" das geladene Document-Interface checken ob es vom Typ der OCX ist und dann entsprechend casten.
Aus dem Gedächtnis:
Delphi-Quellcode:
Fremdkomponenten haben bei PDF im das Problem das es AFAIK keine gibt dich nicht irgendwelche Elemente in einigen PDF's falsch (gegenüber dem Acrobat Reader) interpretiert.
TMyForm.OnDocumentCompleteMyWebBrowser(...)
var MyPDFIntf: IAcroPDF; begin if MyWebBrowsser.ControlInterface.Document.QueryInterface(IID_..., MyPDFIntf) then begin ... end; end; |
Re: Pdf im TWebBrwoser anpassen
Hm, dafür benötige ich aber wieder das ActiveX ... :(
Aber, wenn ich Pdf's mit dem TWebBrowser anzeigen will, werden diese zumindest angezeigt, auch wenn nur der Acrobat 6 installiert ist. Gibt es eine Möglichkeit, herauszufinden, ob der richtige Reader (d.h. 7) installiert ist, dann kann man in diesem Fall noch nach dem Laden Formatierungen vornehmen. |
Re: Pdf im TWebBrwoser anpassen
Zitat:
Zitat:
|
Re: Pdf im TWebBrwoser anpassen
Da hab ich mich wohl nicht genau genug ausgedrückt: Da muss ich wieder das ActiveX für den Acrobat 7 nehmen, da ich TAcroPdf zurückgreife. Damit habe ich das Problem, dass auf PC's, die noch den Acrobat 6 verwenden das alles nicht funktioniert ...
Delphi-Quellcode:
Was meinst du mit IID_, bzw. wo finde ich die dazugehörige ID? ... sorry, aber ist für mich Neuland...
if MyWebBrowsser.ControlInterface.Document.QueryInterface(IID_..., MyPDFIntf) then
|
Re: Pdf im TWebBrwoser anpassen
So, ich habe jetzt eine Lösung - in Verbindung mit einem TWebBrowser - gefunden. Beim Erstellen des Programms wird abgetestet, ob der Acrobat Reader 7 installiert ist ...
Delphi-Quellcode:
... später, wenn eine Pdf-Datei angezeigt werden soll, wird diese dementsprechend geladen.
try
PdfFenster:= TAcroPDF.Create(Self); PdfFenster.Parent:= PanelPdf; PdfFenster.LoadFile('\pdf\Lektion_1_1.pdf'); PdfOK:= true; // Acrobat 7 Reader ist installiert -> einstellen with PdfFenster do begin Height:= 365; Left:= 12; Top:= 30; Width:= 560; end; except PdfOK:= false; // Acrobat 7 Reader ist nicht installiert PdfFenster.Free; end;
Delphi-Quellcode:
Dies funktioniert ansich ganz gut - ich habe es auf mehreren Rechnern mit unterschiedlichen Acrobat-Versionen getestet. Allerdings wurde auf einem Rechner, auf dem der Acrobat Reader 7.0 installiert ist die Pdf-Datei trotzdem über den Browser geladen? Gibt es auch unterschiedliche TAcroPdf-Versionen? Woran kann dies noch liegen?
if PdfOK then
begin // Ausgabe mit Acrobat Reader PdfFenster.Visible:= true; PdfFenster.LoadFile(s); PdfFenster.setShowToolbar(false); PdfFenster.setZoomScroll(105,50,50); end else begin // Ausgabe über Webbrowser GetDir(0,sdir); MainForm.PdfWebBrowser.Visible:= true; MainForm.PdfWebBrowser.Navigate(sdir+'\'+s); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 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