使用wkhtmltopdf包将html转pdf的时候,图片不显示问题
一个问题,两个现象,即:
1.调用wkhtmltopdf将html转pdf时,图片不显示
2.如下图所示
解决方法:
import pdfkit
options = {
'enable-local-file-access':True#关键
}
pdfkit.from_file(htmls, self.name+".pdf",options=options)
小插曲
很久没写代码了,最近搞深度学习用到Python爬虫(博主之前主要做Java后端的),看见有这么个经典问题:爬取xx网站,将网站内容(包含文字、图片)组合成pdf文件。于是博主就试着搞了下…思路大致如下:
1、先requests请求一下网页
2、再来一份beautifulSoup解析网页
3、获取到图片的url再requests
4、write图片到本地
5、write文字和图片生成并用wkhtmltopdf转换成pdf文件
。。。咦我图呢???
这个wkhtmltopdf居然提示的是协议未知错误。。。在网上找了很久解决方案,自己也多次尝试,比如:将图片转成二进制存储,使用图片的绝对路径,在路径前面加上"file:///…",搞了大半天,真的没笑。
最后发现,生成的html文件,是可以访问到图片的。所以,大概率是因为wkhtmltopdf这个包在作祟,对,它访问不到图片,为之奈何?
我有找了很久的关于wkhtmltopdf的属性配置,在网上好友的经验下,最终发现了enable-local-file-access这个属性,见名知意,它就是管能否访问本地文件的属性。但我的本地环境根本不支持配置这个包啊,只能在Python代码中配。于是尝试着,就好啦。