我看过很多与这个问题非常相似的问题,所以我起初犹豫不决。但没有任何建议解决了我的问题,我似乎无法弄清楚自己有什么问题。
对于我为一个客户制作的项目,他们希望能够将客户的报价(使用在线表单生成)转换为PDF。足够简单由于整个项目都是PHP,所以我使用了以下简单的过程:
>将报价保存为临时HTML文件
>使用WkHTMLtoPDF将HTML文件转换为PDF
>输出此PDF文件
>清理(删除临时文件)
这一直工作直到他们改变了服务器。新服务器具有防火墙。
首先,PDF转换步骤返回一个防火墙页面,表示服务器无法进行出站连接。为了解决这个问题,我直接输入了HTML文件,而不是链接到它(/var/www/mysite/temp/18382.html而不是www.example.com/temp/18382.html)。这转换了HTML,但防火墙阻止了加载CSS和图像
我可以通过将其直接嵌入到网站而不是链接到它(使用< style>标签)来克服CSS,但是这对于图像不起作用
我尝试使用相对链接。我更改了< img src =“http://www.example.com/temp/image.jpg”/>到< img src =“./ image.jpg”/> ;.这没有办法。 接下来我试过< img src =“file:///var/www/mysite/temp/image.jpg”/>但是这也不行
我阅读并浏览WkHTMLtoPDF手册,我尝试了几个不同的命令行参数,如–enable-local-file-access,–enable / var / www / mysite / temp /和–images,但似乎没有修复它