You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用spiritix/php-chrome-html2pdf生成的PDF无法在Chrome打开是什么原因?

问题根因定位

这个问题属于老旧版本Chromium的内置PDF生成模块bug,既不是依赖库问题也不是系统层面问题,和CentOS7自带的Chromium版本过低直接相关。

差异表现原因

不同客户端打开表现不一致的原因是PDF解析器的容错能力不同:

  • 火狐浏览器、Mac系统的预览应用、高版本Chrome的PDF解析器对非标准结构的PDF容错性更高,能正常解析老旧Chromium生成的不规范PDF
  • 低版本Chrome、Windows端部分PDF阅读器对PDF格式合规性要求更高,遇到未标记的非法内容块就会抛出你遇到的报错,甚至无法打开文件
触发条件

你的代码中开启了displayHeaderFooter参数,CentOS7官方源中最高支持的Chromium v90及更早版本,在开启页眉页脚参数生成PDF时,会错误写入不符合PDF/UA规范的未标记内容块,直接触发该报错。

修复方案
  • 升级Chromium/Chrome到105及以上版本。CentOS7可以手动安装Chrome官方提供的Linux稳定版,升级后无需修改现有代码即可生成符合规范的PDF文件
  • 若暂时无法升级Chromium,可先关闭displayHeaderFooter参数验证。如果必须保留页眉页脚,可将页眉页脚内容改为写在HTML的position: fixed固定定位元素中,替代Chromium自带的页眉页脚生成能力
  • 若仅面向火狐、Mac端用户使用,也可忽略该报错,不影响目标用户的正常查看

内容的提问来源于stack exchange,提问作者Nand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 08:15:04