0

我正在使用WebRenderer将 HTML5 页面导出到服务器上的图像。问题是唯一支持 HTML5 的版本是 swing 版本。但是,我可以使用 swing 版中的 jar 文件并创建一个新IMozillaBrowserCanvas对象,而不是将其链接到 JFrame/JPanel 并让它在没有 GUI 的情况下转换 html5 页面。

刚使用的swing版和服务器版有什么区别IMozillaBrowserCanvas吗?我能找到的唯一信息是:

由于不在 Swing Thread 上执行渲染,WebRenderer Server Edition 4.0 在服务器和无头环境中的扩展性比任何其他 Java 浏览器 SDK 都更好。保持渲染脱离 Swing 线程,多线程渲染导致可伸缩性的重大改进。[来源]

spawnMozilla()另外,当从类中调用方法时,后端发生了什么BrowserFactory?据我所知,这只是一个纯 Java 浏览器,并没有在后台运行 xserver。

4

1 回答 1

2

我已经从 WebRenderer 联系了开发人员。他说:

WebRenderer 的服务器版和 Swing 版之间主要存在内部架构差异。服务器版主要是为创建页面图像而设计的,而 Swing 版是一个功能齐全的浏览器。但是,这并不妨碍 Swing 版被有效地用于生成页面图像。

API 是类似的,尽管 Server 具有用于生成不同大小/类型的图像的便捷方法,并且 Swing 版具有更多可用功能。底层 Mozilla 浏览器的版本在 Swing 版中更新得多,因此它能够呈现使用 HTML5 等技术的页面。

虽然渲染都是在 Java 中完成的,但 Mozilla 组件需要为每个平台本地处理。它不运行 xserver,但 spawnMozilla() 调用将设置这些本地组件,默认情况下它们被提取到用户主目录中的 .webrendererswing6 目录中。

于 2012-07-09T18:26:11.157 回答