使用wkhtmltopdf或DinkToPdf时图片随机不渲染问题求助
DinkToPdf图片随机不渲染问题的解决办法
强制等待图片加载完成:DinkToPdf依赖的wkhtmltopdf可能在图片加载前完成渲染,可在HTML中添加监听脚本,确保所有资源加载完毕后再触发转换:
<script> window.onload = function() { window.status = 'ready'; }; </script>同时在DinkToPdf配置中设置
WaitForStatus = "ready"。使用绝对路径引用图片:替换相对路径为本地文件绝对路径或完整网络URL,避免渲染器无法定位资源,比如将
<img src="pic.jpg">改为<img src="/usr/local/assets/pic.jpg">。禁用图片懒加载:移除HTML图片标签中的
loading="lazy"属性,wkhtmltopdf不会触发懒加载逻辑,会导致这类图片无法渲染。延长渲染超时时间:在DinkToPdf配置里调高超时参数,比如设置
Timeout = 10000(单位:毫秒),给图片充足的加载时间。嵌入base64编码图片:将图片转换为base64字符串直接写入HTML,彻底规避外部资源加载问题,示例:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5gMVESkqQzkWSwAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAUSURBVDjLY2AAAUaG4UYxDDXzgABigQV1hB1cAAAAASUVORK5CYII=">
内容的提问来源于stack exchange,提问作者Airo
相关产品推荐
相关产品推荐

