2015-06-05 69 views
1

我遇到了SWT瀏覽器小部件的一個奇怪問題。 我使用來自蛋白石小工具的「過渡合成」小部件開發了一個多頁應用程序。 在我最後一個窗口中,我需要顯示一個pdf。 我一直在網上尋找免費的開源解決方案,我唯一能做的就是IcePdf,但是頁面的渲染並不好。 然後我發現我可以使用瀏覽器小部件來顯示pdf。 我創建了下面的代碼一個新項目:swt瀏覽器插入pdf在新窗口中

shell = new Shell(); 
    shell.setSize(l, h); 

    Browser browser = new Browser(shell, SWT.NONE); 
    browser.setBounds(xb, yb, lb, hb); 
    browser.setUrl("file://" + pdfPath); 

和它的工作很大。 但是,如果我在我的實際應用程序中運行相同的代碼,它會將pdf打開到Adobe Reader中,而不是進入應用程序本身。

有沒有人注意過這個問題?如果是的話,我該如何解決它?

謝謝諮詢, 斯特凡諾法蘭契尼

+0

你在你的應用程序中使用'SWT.NONE'爲'Browser'呢? – Baz

+0

是的,我不應該嗎? – StefzX

+0

我只是試圖找到工作的代碼和不工作的代碼之間的區別。 – Baz

回答

-1

我認爲是需要改變一個Internet Explorer或Adobe Reader設置。

這可能幫助:

如果您希望瀏覽器在一個單獨的Acrobat窗口中打開PDF文件,配置爲使用Acrobat或Adobe Reader作爲一個輔助應用程序的瀏覽器。然後,當您在Internet Explorer中選擇PDF文件時,瀏覽器將在Acrobat窗口而不是瀏覽器窗口中打開PDF文件。

要配置瀏覽器使用Acrobat或Adobe Reader打開PDF文件:

  • 退出Internet Explorer。
  • 啓動Acrobat或Adobe Reader。
  • 選擇「編輯」>「首選項」。
  • 在左側的列表中選擇Internet。
  • 在瀏覽器中取消選擇「顯示PDF」,然後單擊「確定」。
  • 重新啓動Internet Explorer。

注意:您選擇鏈接到一個PDF文件中的下時,瀏覽器會提示您打開或保存文件。如果您選擇打開文件,瀏覽器會在您指定的幫助器應用程序中打開該文件。如果選擇保存文件,瀏覽器會將文件下載到硬盤。

https://helpdesk.egnyte.com/hc/en-us/articles/201637224-How-Do-I-Open-PDF-Files-in-Adobe-and-Not-Internet-Explorer-

+0

我試過但它沒有工作。我不認爲這是問題,因爲在一個乾淨的項目中它運行良好。但是,我的程序有點長,我很難理解可能會產生什麼問題。這就是爲什麼我問過之前是否有其他人處理過這個問題。 感謝您的幫助 – StefzX

+0

添加了內容,將在未來考慮到這一點。 –