2011-04-06 90 views
1

我有一個C#窗體窗體應用程序,顯示用戶的PDF。我用的是axAcroPDF控制這樣的:axAcroPDF沒有在Windows XP上顯示PDF

AxAcroPDFLib.AxAcroPDF pdfViewer = new AxAcroPDFLib.AxAcroPDF(); 
... 
pdfViewer.loadFile(@"C:\a.pdf"); 

能正常工作在我的電腦和我的同事,但僅限於誰擁有的win7運行的人。在winXp機器上嘗試時,它不起作用,即loadFile()返回false。

任何想法?

回答

0

AxAcroPDFLib是否與Adobe Reader或其他Adobe產品一起提供,如果有的話,我想你會需要安裝在目標機器上,檢查版本是否兼容?

和..可以看到在相同的位置相同的PDF(如果那不是示例代碼)

+0

在我看來,如果AX控件在目標機器上不可用,應用程序會產生一個異常。只能是他們不兼容。但是,如何創建一個應用程序,以顯示已安裝Adobe Reader的任何機器上的pdf ......? – nogola 2011-04-06 07:49:35

+0

我想你會需要爲每個版本的控件創建.Net包裝並檢測它是哪一個?或讓用戶安裝特定版本。另一種選擇可能是在用戶機器上使用瀏覽器而不是在應用程序中打開PDF,以解決任何問題? – 2011-04-06 08:31:23

+0

我正在嘗試與瀏覽器的解決方案。但在XP機器上它說安全設置不允許文件下載,將webBrowser控件的Url分配給pdf的文件位置時... – nogola 2011-04-06 08:38:00

0

好吧,我解決它通過後期綁定讀者通過實施axHost這樣的:

public class LateBoundPDFReader : AxHost 
{ 
    public LateBoundPDFReader() 
     : base("{CA8A9780-280D-11CF-A24D-444553540000}") 
    { 
    } 
} 

唯一的問題是,現在我無法在VS的設計師中使用它......爲什麼......?

相關問題