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

HTML转PDF时pre标签font-family失效问题排查

itext7 html2pdf中<pre>标签font-family样式不生效问题

问题现象

  • 基于Java环境,使用itext7-core 7.2.3 + html2pdf 4.0.3在Kubuntu系统下转换带内联样式的HTML到PDF
  • <p>、<td>、<div>等标签的内联font-family样式均正常生效,但<pre>标签的该样式被忽略,默认使用Times或系统自带等宽字体,而非指定字体
  • 直接通过字符串创建Paragraph对象并指定同款字体(或带字体的样式),可正常渲染目标字体
  • 临时解决办法:通过Jsoup提取<pre>标签的文本内容,手动创建带有目标字体样式的Paragraph添加到文档

问题分析

这大概率是html2pdf组件对<pre>标签的样式处理逻辑存在问题:<pre>作为预格式化标签,组件可能默认强制绑定了等宽字体规则,导致自定义的font-family内联样式被覆盖,属于需要排查修复的潜在Bug。

建议

  1. 可在itext官方代码仓库提交Issue,附上最小复现代码、环境信息及问题截图,帮助开发团队定位修复
  2. 临时方案可继续沿用当前的Jsoup转换方式,也可以尝试自定义TagWorker:继承PreTagWorker类,重写样式应用逻辑,确保自定义font-family样式能被正确解析和应用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 14:31:01