![]() |
PDF aus DB anzeigen im Webbrowser?
Hallo,
hab eine Pdf datei in der Datenbank gespeichert.Nun versuche ich diese angezeigt zu bekommen im Webbrowser.Geht aber nicht. Gibt es da vielleicht eine Alternative?:oops:
Delphi-Quellcode:
WebBrowser1.Navigate ('ADOTable1.PDFFILE');
|
AW: PDF aus DB anzeigen im Webbrowser?
Da es mit einem File auf der Festplatte normalerweise funktioniert, würde ich die Datei im Temp-Verzeichnis speichern und dann mit
Delphi-Quellcode:
aufrufen. Hinterher wieder löschen.
Webbrowser1.Navigate('C:\temp\MyPDF.pdf');
|
AW: PDF aus DB anzeigen im Webbrowser?
|
AW: PDF aus DB anzeigen im Webbrowser?
Wie blond muss man eigentlich sein, um für jede Frage "Neuen Beitrag zur Code-Library hinzufügen" zu erwischen?
|
Dieses Thema wurde am "03. May 2012, 15:07 Uhr" von "TBx" aus dem Forum "Neuen Beitrag zur Code-Library hinzufügen" in das Forum "Programmieren allgemein" verschoben.
|
AW: PDF aus DB anzeigen im Webbrowser?
Nabend,
ich bin ganz blond...:-D Ich sitzte nicht jeden Abend bei "Delphi"... Ich bin Laie!!!! Drum bin ich hier... Natürlich bekommt man eine über die "Jacke",wenn man dusseliche Fragen stellt,die die anderen schon längst gefressen haben. Danke:-D |
AW: PDF aus DB anzeigen im Webbrowser?
Zitat:
Zitat:
Zitat:
Aber mich würde auch mal interessieren, warum du eine neue Frage grundsätzlich unter Neuen Beitrag zur Code-Library hinzufügen einstellst? Oder gehst du morgens auch in die Autowerkstatt und bestellst Brötchen? Eventuell geben die ja aus Mitleid von ihren was ab So blond kann man nicht sein, denn des Lesens bist du sehr wohl mächtig :roll: |
AW: PDF aus DB anzeigen im Webbrowser?
Hallo,
bin schon eine weile hier,aber dass hab ich jetzt erst gesehen...:oops: Hab nun gebastelt und den Webbrowser weggelassen.Aber komme nicht weiter. Kann ich ein Oleobject mit einem DBMemo verknüpfen? Es kommt immer eine Fehlermeldung:"ungültiger Stream".
Delphi-Quellcode:
Was habe ich jetzt nach über 10 STD. falsch gemacht?:oops:
procedure TForm17.Button1Click(Sender: TObject);
var Stream: TMemoryStream; Field: TBlobfield; begin ADOTable1.Edit; OpenDialog1.Filter:='*.pdf|*.pdf'; if OpenDialog1.Execute then begin TBlobField(ADOTable1.FieldByName('PDFFILE')). //PDF im DBMemo10 speichern LoadFromFile(OpenDialog1.FileName); ADOTable1.Post; end; end; procedure TForm17.Button2Click(Sender: TObject); var Stream : TMemoryStream; Field : TBlobField; begin Field := ADOTable1.FieldByName('PDFFILE') AS TBlobField; Stream:=TMemoryStream.Create; try Field.SaveToStream(Stream); Stream.Position:=0; OleContainer1.LoadFromStream(Stream); finally Stream.Free; end; end; |
AW: PDF aus DB anzeigen im Webbrowser?
Vor kurzem hatte ich eine ähnliche Frage hier:
![]() So zu sagen -> Menü->Komponente->ActiveX importieren. Da gibt es ein ActiveX Control für PDF. Das einfach nehmen und fertig. Wenn in anderen Fällen der Webbrowser sichtbar bleiben soll, für diesen Fall unsichtbar machen und stattdessen das AxtiveX control mit der Datei an gleicher Position anzeigen und danach das ActiveX Control unsichtbar und den Webbrowser wieder sichtbar machen. Oder Webbrowser und ActiveX Control auf zwei Registerkarten verteilen, je nach Anforderung. |
AW: PDF aus DB anzeigen im Webbrowser?
Zitat:
|
AW: PDF aus DB anzeigen im Webbrowser?
Guten Morgen,
hab nun das Acropdf auf die Form geklatscht.Im Datenbankmemo1'PDFFILE' hab ich ein Blobfeld.Dort ist die PDF Datei schon gespeichert im "Wurstelformat".:-D Wie bekomme ich das Ding jetzt zur Vorschau? Bei dem Code wird gemeckert: E2007 Konstante oder Typenbezeichner erwartet:oops:
Delphi-Quellcode:
procedure TForm17.Button2Click(Sender: TObject);
var PDFFILE:Acropdf1; begin AcroPDF1.LoadFile('ADOTable1.PDFFILE.pdf'); end; |
AW: PDF aus DB anzeigen im Webbrowser?
Guten Morgen,
ich denke nicht, dass Acropdf eine Datei direkt aus der Datenbank laden kann. loadFile riecht auch eher nach dem Laden von einer Datei. Und dann könntest Du noch kurz erklären, was Du dir dabei gedacht hast:
Delphi-Quellcode:
Ist AcroPDF1 nun ein Type oder eine Instanz?
procedure TForm17.Button2Click(Sender: TObject);
var PDFFILE:Acropdf1; begin AcroPDF1.LoadFile('ADOTable1.PDFFILE.pdf'); end; Grüße Klaus |
AW: PDF aus DB anzeigen im Webbrowser?
Hab es jetzt so probiert und es kommen keine Fehlermeldungen mehr.
Bin ich schon mal Stolz. Außer ein Infofenster,ich soll die dusseligen Lizenzbedingungen von Adobe akzeptieren.Aber ich kann da nicht mal ein Häkchen setzen. So ein Müll...
Delphi-Quellcode:
procedure TForm17.Button2Click(Sender: TObject);
var PDFFILE:PDFViewer.TAcroPdf; begin AcroPDF1.LoadFile('ADOTable1.PDFFILE'); end; |
AW: PDF aus DB anzeigen im Webbrowser?
Delphi-Quellcode:
uses
.. ActiveX ..
Delphi-Quellcode:
procedure LoadPDFFromStream(WebBrowser: TWebBrowser; const Stream: TStream);
var flag : OleVariant; begin flag := 0; WebBrowser.Navigate('about:blank', flag,flag,flag,flag); while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do Application.ProcessMessages; if Assigned(WebBrowser.Document) then begin if stream.Size > 0 then begin stream.Seek(0,soFromBeginning); (WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(stream)); end; end; end;
Delphi-Quellcode:
Lädt ein PDF via Stream in den TWebBrowser.
procedure TForm1.Button1Click(Sender: TObject);
var pdfStream: TMemoryStream; begin pdfStream := TMemoryStream.Create; try pdfStream.LoadFromFile('file.pdf'); LoadPDFFromStream(WebBrowser1,pdfStream); finally pdfStream.Free; end; end; Ein oder mehrere Beispiele hättest Du auch durch die Forumsuche gefunden. Die Methode hat allerdings noch einen Haken, das PDF wird nicht gerendert. Wenn der WebBrowser den Inhalt per Stream erhält, kann er nicht wissen um welchen Type es sich handelt. Dazu müsste dem WebBrowser ein Content-Type mitgegeben werden. Das wäre dann Dein Job. Auch Dein Job ist es zuzusehen wie Du das PDF aus der Datenbank in den Stream bekommst. Grüße Klaus |
AW: PDF aus DB anzeigen im Webbrowser?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:08 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