C#WebBrowser赢得';t显示嵌入的对象

本文关键字:对象 显示 赢得 C#WebBrowser | 更新日期: 2023-09-27 17:58:30

这可能是个愚蠢的问题,但我就是无法解决。我正在尝试将一个pdf文件嵌入到c#程序中的网络浏览器中。简单吧?我是这么想的,但事实并非如此。这是html代码:

<object classid="" type="application/pdf" width="400" height="300" id="pdf1">
<param name="src" value="Test.pdf" />
    <div style="text-align:center; color:#CCCCCC" >No Preview Available.</div>
</object>

这就是html文件中的全部内容。有趣的是,这在IE中非常有效(据我所知,这就是WebBrowser使用的)。我尝试过用non-IE的方式实现对象标记,使用src属性和whatnot,但它做了同样的事情。现在的情况是WebBrowser控件只显示No Preview Available,这意味着pdf没有成功嵌入。这是c#代码:

wbPreview.Navigate("I:/Documents/Visual Studio 2008/Projects
                      /PlanReferenceDatabase/test.html");

有人能告诉我为什么c#中的web浏览器不能显示pdf,而其他浏览器可以?

C#WebBrowser赢得';t显示嵌入的对象

尝试格式化标签如下:

<object type="application/pdf" data="myPdfFile.pdf" class="yourPdfClass" width="550px" height="800px"/>

在标签中包含数据属性,它似乎工作得很好——只是在IE8/IE9机器上的浏览器控件中尝试了一下,它显示为内联。

我解决了我的问题。为了防止其他人也有同样的问题,我做了以下几点:首先,我将visualstudio中构建选项卡下的"目标平台"属性设置为x86,因为事实证明,64位IE无法呈现PDF。其次,我使用了嵌入标记而不是对象标记,因为IE要求您在使用对象标记时使用"classid"和各种不需要的ActiveX内容。