我在使用 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 或 Adobe Reader 作为帮助应用程序。然后,当您在 Internet Explorer 中选择 PDF 文件时,浏览器将在 Acrobat 窗口而不是浏览器窗口中打开该 PDF 文件。
要将浏览器配置为使用 Acrobat 或 Adobe Reader 打开 PDF 文件:
- 退出 Internet Explorer。
- 启动 Acrobat 或 Adobe Reader。
- 选择“编辑”>“偏好设置”。
- 在左侧列表中选择互联网。
- 在浏览器中取消选择“显示 PDF”,然后点击“确定”。
- 重新启动 Internet Explorer。
注意:下次您选择 PDF 文件的链接时,浏览器可能会提示您打开或保存该文件。如果您选择打开该文件,浏览器将在您指定的帮助程序应用程序中打开该文件。如果您选择保存文件,浏览器会将文件下载到硬盘。
关于java - swt浏览器在新窗口中显示pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30661956/