java - swt浏览器在新窗口中显示pdf

标签 java pdf browser swt

我在使用 SWT 浏览器小部件时遇到了一个奇怪的问题。 我使用蛋白石小部件中的“过渡复合”小部件开发了一个多页应用程序。 在我的最后一个窗口中,我需要显示一个 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);

效果很好。 但是,如果我在实际应用程序中运行相同的代码,它将在 adobe reader 中打开 pdf,而不是在应用程序本身中打开 pdf。

之前有其他人注意到这个问题吗?如果是的话我该如何解决?

感谢您的建议, 斯特凡诺·弗兰基尼

最佳答案

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

这可能有帮助:

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

要将浏览器配置为使用 Acrobat 或 Adob​​e Reader 打开 PDF 文件:

  • 退出 Internet Explorer。
  • 启动 Acrobat 或 Adob​​e 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-

关于java - swt浏览器在新窗口中显示pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30661956/

相关文章:

java - 使用 Spring+JPA 的单元测试 Service bean,但没有可用的 DB

java - 使用 getClass() 获取类时编译错误

Java Soap 通过 https 连接

java - pdf 文件中的可扩展列表

java - PDFBox - 删除不可见文本(通过剪辑/填充路径问题)

css - 特定浏览器如何防止下载的字体可供其他应用程序使用

在 Mac 中,Java filedialog 始终前置/Users/<user>/Desktop

javascript - 在 Angular 5 中,如何强制下载从经过身份验证的 API 检索到的 PDF

javascript - Reactjs,在浏览器中保存用户数据的最佳选择是什么?

browser - 如何在 GNU Smalltalk 中查看对象/类/上下文浏览器?