我在Windows 2012服务器上使用了最新的二进制文件(wkhtmltox-0.12.1.1_msvc2013-win64.exe)和params:“ - zoom 1.4 --margin-top 0 --disable -javascript --margin-right 0 - margin-bottom 0 --margin-left 0 --quiet - - “
我正在通过stdin发送HTML文件并直接使用stdout获取PDF。将删除临时HTML文件,但PDF仍保留在C:\ Windows \ Temp
中在生产中使用它时会出现问题,因为磁盘会慢慢填满(或者在我们的情况下非常快)。
理想情况下,临时PDF文件不是必需的,因为它们与输出到STDOUT时的性能损失相关联。在Windows上似乎不是一个选项,因为QT4.8中的QPrinter只接受文件名,而Windows不使用文件系统路径作为流(即/ dev / stdout)。
来自pdfconverter.cc:335
if (settings.out == "-") {
#ifndef Q_OS_WIN32
if (QFile::exists("/dev/stdout"))
lout = "/dev/stdout";
else
#endif
lout = tempOut.create(".pdf");
}
然而,qt5 +中的QPdfWriter似乎支持输出到QByteArray。我假设将在qt5分支完成时使用。有什么可以在过渡期间完成以避免win32上的这些临时文件吗?