我正在尝试获取一个pdf文件,在我的aspx页面中显示一个带有iframe的pdf文档。我正在使用以下代码:
<iframe runat="server" id="testpdf" src="http://localhost:1114/pdfs/3211LD.pdf">
</iframe>
当我运行项目时,我只是得到一个空框架。但是,当我将src(http:// localhost:1114 / pdfs / 3211LD.pdf)粘贴到浏览器的地址栏中时,它会要求我运行/保存文件。所以我知道我的虚拟目录设置正确。
那为什么不在iframe中显示呢?我的代码有问题吗?
谢谢, 杰森
答案 0 :(得分:0)
当网络浏览器显示PDF文件时,它实际上是使用Adobe Reader插件来呈现内容。我从未见过从iframe内部运行的Adobe Reader插件。我不相信它是那样的。
答案 1 :(得分:0)
你最好用aspx页面二进制文件编写pdf ...
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Set the appropriate ContentType.
Response.ContentType = "Application/pdf"
'Get the physical path to the file.
Dim FilePath As String = MapPath("acrobat.pdf")
'Write the file directly to the HTTP output stream.
Response.WriteFile(FilePath)
Response.End()
End Sub
答案 2 :(得分:0)
您无法完全控制浏览器的功能,但如果您自己发送PDF,则可以将Content-disposition标头更改为内联。关注@ BobTodd的代码,但添加
Response.AddHeader("Content-disposition", "inline");
请求在页面中显示PDF。
另一种方法是将PDF页面光栅化为png并在常规网页中使用<img>
标签。你可以用GhostScript做到这一点。
免责声明:我在Atalasoft工作。我们制作了一个ASP.NET image viewer web control和一个PDF Reader add-on,可以自动在服务器上转换PDF,并在不需要Acrobat的情况下将其显示在网页中。
答案 3 :(得分:0)
您需要使用标记在页面中显示PDF(和/或可能是嵌入标记)
这是一个有助于各种方式的问题:Recommended way to embed PDF in HTML?