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:
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;
Lädt ein PDF via Stream in den TWebBrowser.
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