将pdf流式传输到winform上的.net webbrowser对象

时间:2009-10-22 21:59:37

标签: .net pdf streaming browser

我在winform上有一个webbrowser对象,我想用它来显示pdf。 pdf驻留在ftp服务器上。我已经能够通过下载来显示pdf 到磁盘并指向webbrowser对象(导航),但我想流 出于安全原因。有没有人能够将pdf流式传输到位于.Net winform上的webbrowser?

    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

2 个答案:

答案 0 :(得分:1)

我建议使用PDF Viewer Control而不是网络浏览器控件,因为网络浏览器控件将要求客户端安装了PDF Viewer。

这也允许您将文档流式传输到它。

答案 1 :(得分:1)

因为您已经在使用WebBrowser控件;为什么不指向包含embed标记的本地html文件:

<embed src="ftp://ftpserver/yourpdf.pdf" />

我没有测试过,但pdf应该在控件的上下文中提供。