5
我利用QWebFrame中的WebKit将HTML页面转换为PDF。在页面发送到QPrinter之前是否可以应用一些额外的呈现逻辑?在Qt中,我可以QWebFrame :: print()提供额外的渲染层吗?
我想要做的就是能够将HTML中的链接和表单控件转换为PDF中的交互对象,而不仅仅是一个矢量图形转储?
非常感谢任何指导!
我利用QWebFrame中的WebKit将HTML页面转换为PDF。在页面发送到QPrinter之前是否可以应用一些额外的呈现逻辑?在Qt中,我可以QWebFrame :: print()提供额外的渲染层吗?
我想要做的就是能够将HTML中的链接和表单控件转换为PDF中的交互对象,而不仅仅是一个矢量图形转储?
非常感谢任何指导!
我发现一个可能的解决方案,使用QWebFrame::renderTreeDump()
和QWebFrame::findAllElements()
(Qt 4.6中的新增功能)。
它不完全“提供额外的渲染层”,但完成了我想要做的事情:我调用findAllElements()
来刮掉DOM树,通过设置HTML元素的属性来应用任何我想要的逻辑。
对于更复杂的操作,比如用我自己的渲染过程替换表单控件,我需要刮掉DOM树和渲染树,修改DOM树,所以元素不会发送到QPrinter
。最后,我抓取得到的PDF文件,使用从渲染树和DOM树获得的信息注入我自己渲染的控件。
这种感觉不必要的复杂。有没有人有这个问题的更优雅的解决方案?