streamen ein pdf zu einem .net Web-Browser-Objekt auf einem winform
Frage
Ich habe ein Web-Browser-Objekt auf einem winform, dass ich ein pdf verwenden möchte anzuzeigen. Die pdf befindet sich auf einem FTP-Server. Ich konnte das pdf zeigen, indem es das Herunterladen auf die Festplatte und zeigt die Web-Browser-Objekt, um es (navigate), aber ich möchte streamen es aus Sicherheitsgründen. Hat jemand in der Lage einen pdf zu einem Web-Browser zu streamen, die auf einem .Net winform ist?
Dim URI As String = host & targetFilename
Dim ftp As System.Net.FtpWebRequest = CType(FtpWebRequest.Create(URI), FtpWebRequest)
ftp.Credentials = New System.Net.NetworkCredential(userName, passWord)
ftp.KeepAlive = False
ftp.UseBinary = True
ftp.Method = System.Net.WebRequestMethods.Ftp.DownloadFile
Using webResp As System.Net.FtpWebResponse = DirectCast(ftp.GetResponse(), System.Net.FtpWebResponse)
Using respStream As Stream = webResp.GetResponseStream
If GetFileExtension(targetFilename) = "PDF" Then
WebBrowser1.DocumentStream = respStream
Application.DoEvents()
End If
respStream.Close()
End Using
End Using
Lösung
Da Sie bereits das WebBrowser-Steuerelement verwendet wird; warum haben sie nicht auf eine lokale HTML-Datei verweisen, die einen embed-Tag enthält:
<embed src="ftp://ftpserver/yourpdf.pdf" />
Ich habe es nicht getestet, aber die pdf sollte im Rahmen der Steuerung bedient werden.
Andere Tipps
Ich würde empfehlen, ein PDF Viewer Control mit anstatt einem Web-Browser Kontrolle, wie ein Web-Browser-Steuerung erfordert, dass der Client installiert ein PDF-Viewer.
Dies wird auch ermöglicht es Ihnen, ein Dokument, um es zu streamen.