2011-06-06 94 views
3

這可能是一個愚蠢的問題,但我不能讓它工作。我試圖將一個pdf文件嵌入到c#程序中的webbrower中。簡單的權利?我認爲是這樣,但事實證明並非如此。 這裏的html代碼:C#WebBrowser不會顯示嵌入對象

<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,但其他瀏覽器可以嗎?

回答

2

嘗試格式化標籤是這樣的:

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

包括在標籤中的數據屬性,它似乎只是很好地工作 - 只是在一個IE8/IE9機器上我的瀏覽器控件嘗試這樣做,它會顯示內聯。

+0

不幸的是,這仍然無法正常工作。我猜這可能是一個驅動程序或其他東西的本地問題。我很好奇,什麼是「班級」元素?我以前從未見過。 – 2011-06-08 03:33:30

1

我解決了我的問題。以防萬一其他人有相同的,這就是我做的: 首先,我將Visual Studio中的構建選項卡下的「目標平臺」屬性設置爲x86,因爲事實證明,64位IE無法呈現PDF。 其次,我使用嵌入標籤而不是對象標籤,因爲IE需要您使用「classid」以及使用對象標籤時不需要的各種Active X材質。

+0

您可以共享您用於解決方案的嵌入代碼 – 2016-11-17 00:54:38