如何在生成PDF之前确保图像加载?

Cho*_*rds 9 php curl pdf-generation wkhtmltopdf

我有一个PHP循环,执行以下操作:

  1. 通过CURL登录网页
  2. 捕获和需要登录的内部页面
  3. 将页面的HTML保存到本地文件
  4. 使用WKHTMLTOPDF,将页面呈现为PDF

我遇到的问题是每隔一段时间(可能约占30%的时间),图像将无法在PDF中呈现.如果我打开一个保存的HTML文件,我会发现我需要进入并手动刷新页面以显示图像.

关于如何务实地确保图像加载的任何想法?我试过的事情:

  1. sleep(n) 每一行之间
  2. 添加--javascript-delay 30000到我的WKHTMLTOPDF调用以确保它有足够的时间加载任何图像.

#1让它变得更糟,#2什么也没做.

谢谢!

ste*_*rie 1

在示例的步骤 3 和 4 之间,您可能需要考虑解析 HTML 文件中的所有图像链接,并使用curl 单独下载它们,将它们保存在本地,然后更新保存的 HTML 文件中的链接以指向新的本地图像资源而不是远程资源。

将 HTML 渲染为 PDF 时,这应该会大大缩短图像的加载时间。