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

使用Flying Saucer将HTML转PDF时的表格文本对齐异常问题

问题解答

1. 表格文本对齐差异问题

  • 这不是Flying Saucer的预期行为,是它的CSS渲染规则和现代浏览器不一致导致的:
    现代浏览器中<td>默认样式为text-align: left,但Flying Saucer 9.1.18对表格单元格的样式继承处理存在偏差,会错误继承父元素的居中对齐规则,即使子<td>未设置align属性。
  • 解决方法(无需修改原HTML):
    在PDF生成流程中注入全局CSS覆盖默认样式,示例代码如下:
    ITextRenderer renderer = new ITextRenderer();
    // 读取原HTML/XML内容
    String originalContent = ...;
    // 注入全局CSS强制单元格左对齐
    String modifiedContent = "<style>table td { text-align: left !important; }</style>" + originalContent;
    renderer.setDocumentFromString(modifiedContent);
    renderer.layout();
    renderer.createPDF(outputStream);
    
    这段CSS会强制所有表格单元格左对齐,覆盖Flying Saucer的错误继承逻辑。

2. 商业使用许可问题

Flying Saucer 9.1.18采用LGPLv2.1开源许可,用于商业产品完全合规,需注意以下条款:

  • 若仅使用未修改的库文件,无需开放你的商业产品源码,只需在产品文档/版权声明中明确标注使用了Flying Saucer,并提供该库的官方获取渠道信息;
  • 若你修改了Flying Saucer的源码,那么修改后的代码部分必须以LGPLv2.1许可开源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 15:29:55