通过单线程Qt实现多线程Html到Pdf的转换
我正在使用Qt webkit Jambi API将HTML转换为PDF 我的目标是为上述转换创建一个jar,以便在多线程环境中使用它,但由于QWebPage和QWebframe(QT webkit)是GUI类,因此不能从子线程初始化jar类 所以我被困住了,因为我不知道如何解决这个问题 我也是QT的新手,任何人都可以提供有关QT应用程序生命周期、事件循环和相关内容的良好参考 提前谢谢通过单线程Qt实现多线程Html到Pdf的转换,html,qt,pdf,Html,Qt,Pdf,我正在使用Qt webkit Jambi API将HTML转换为PDF 我的目标是为上述转换创建一个jar,以便在多线程环境中使用它,但由于QWebPage和QWebframe(QT webkit)是GUI类,因此不能从子线程初始化jar类 所以我被困住了,因为我不知道如何解决这个问题 我也是QT的新手,任何人都可以提供有关QT应用程序生命周期、事件循环和相关内容的良好参考 提前谢谢 Ashish事实上,我只是使用Firefox进行“打印到文件”并选择PDF作为文件类型。但这是手工操作——尽管我
Ashish事实上,我只是使用Firefox进行“打印到文件”并选择PDF作为文件类型。但这是手工操作——尽管我想你可以编写Firefox脚本
我认为在Linux环境中——我假设Linux/Unix,因为您提到了Qt——您可能可以组合几个nx命令行应用程序。可能enscript有一些有用的东西。如果没有,我很确定我已经看到了其他的解决方案,只是一时想不起来。如果可以将HTML转换为Postscript,那么从中获取PDF就很简单。事实上,我只是使用Firefox执行“打印到文件”并选择PDF作为文件类型。但这是手工操作——尽管我想你可以编写Firefox脚本 我认为在Linux环境中——我假设Linux/Unix,因为您提到了Qt——您可能可以组合几个nx命令行应用程序。可能enscript有一些有用的东西。如果没有,我很确定我已经看到了其他的解决方案,只是一时想不起来。如果您可以将HTML转换为Postscript,那么从中获取PDF就很简单。如果HTML4和CSS1的(部分)满足您的需要,那么您可以在单独的线程中使用
QTextDocument
和QPrinter
。如果HTML4和CSS1的(部分)满足您的需要,然后,您可以在单独的线程中使用QTextDocument
和QPrinter
。“使用Qt编程,第二版”,O'Reilly非常优秀,但仅涵盖Qt3。Qt4.5仍然有许多基本的功能
“使用Qt4进行C++GUI编程(第二版)”,ISBN 0132354160,还不错
Qt文档也包含示例和教程。O'Reilly的“使用Qt编程,第二版”非常出色,但仅涵盖Qt3。Qt4.5仍然有许多基本的功能
“使用Qt4进行C++GUI编程(第二版)”,ISBN 0132354160,还不错
Qt文档也包含示例和教程。我不清楚为什么不能从子线程中使用GUI类初始化jar。这是巨魔对Jambi设定的人为限制吗
我注意到这个例子,理论上不需要在屏幕上显示任何东西。QWebPage和QWebFrame都继承QObject。使用上面链接中的示例代码,应该可以在没有GUI的情况下获取网页的呈现内容。我不清楚为什么不能在子线程中使用GUI类初始化jar。这是巨魔对Jambi设定的人为限制吗
我注意到这个例子,理论上不需要在屏幕上显示任何东西。QWebPage和QWebFrame都继承QObject。使用上面链接中的示例代码,应该可以在没有GUI的情况下获取网页的呈现内容。我的主要任务是将html转换为pdf以打印pdf <>我尝试让Qt占碑(Qt WebKIT C++ + API)在多线程环境中工作,但不能。p> 我的最终解决办法如下: 我使用了来自 编写了一个捕获标准输入和输出流的java包装器 为每个需要html到pdf转换的java线程初始化“wkhtmltopdf”二进制文件
此外,我从未听过二江的建议,因为那时我已经离开了任务,没有时间听他的建议。我的主要任务是将html转换为pdf以打印pdf <>我尝试让Qt占碑(Qt WebKIT C++ + API)在多线程环境中工作,但不能。p> 我的最终解决办法如下: 我使用了来自 编写了一个捕获标准输入和输出流的java包装器 为每个需要html到pdf转换的java线程初始化“wkhtmltopdf”二进制文件 此外,我从未听过二江的建议,因为那时我已经离开了任务,没有时间听他的建议。那些“巨魔”:我喜欢那些脏话那些“巨魔”:我喜欢那些脏话