swt browser diplays pdf在新窗口中

时间:2015-06-05 08:35:35

标签: java pdf browser swt

我遇到了SWT浏览器小部件的一个奇怪问题。 我使用opal小部件中的“过渡复合”小部件开发了一个多页面应用程序。 在我的上一个窗口中,我需要显示一个pdf。 我一直在网上寻找免费的开源解决方案,我唯一可以解决的是IcePdf,但页面的重新定位并不是很好。 然后我发现我可以使用浏览器小部件来显示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而不是应用程序本身。

有没有人注意过这个问题?如果是,我该如何解决?

谢谢你的建议, Stefano Franchini

2 个答案:

答案 0 :(得分:1)

我认为有一个需要更改的Internet Explorer或adobe reader设置。

这可能会有所帮助:

如果您希望浏览器在单独的Acrobat窗口中打开PDF文件,请将浏览器配置为使用Acrobat或Adobe Reader作为帮助应用程序。然后,当您在Internet Explorer中选择PDF文件时,浏览器将在Acrobat窗口而不是浏览器窗口中打开PDF文件。

配置浏览器以使用Acrobat或Adobe Reader打开PDF文件:

  • 退出Internet Explorer。
  • 启动Acrobat或Adobe Reader。
  • 选择“编辑”> “偏好”。
  • 在左侧列表中选择互联网。
  • 在浏览器中取消选择“显示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-

答案 1 :(得分:0)

在Windows 7上运行Eclipse 2019-03和OpenJDK 11(64位)时,不同的IE设置为我解决了此问题:

  1. 打开Internet Explorer
  2. 设置>> 管理加载项>> 工具栏和扩展 ..
  3. 在左下方的 Show 下找到菜单,将其更改为所有插件
  4. 在右上方顶部的 Adob​​e Inc。 部分下找到 Adob​​e PDF Reader 窗格
  5. 将状态从禁用更改为启用
  6. 点击关闭按钮
  7. 然后尝试再次运行browser.setURL()作为要显示的PDF文件的绝对路径的SWT浏览器实例。设置URL /路径后,别忘了调用browser.update(),以便重新呈现SWT组件。

我知道,这个问题已经存在很多年了,但是我只是碰到了这个问题,想出了一个新的解决方案,所以在SO的其他地方找不到,所以想抓住这个问题,希望可以帮助其他人可能会在他们的工作中遇到这个问题)。