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

iTextPDF 7如何创建可统一管控内部元素分页规则的容器?

iTextPDF 7 实现容器内部禁止分页拆分的方案

场景1:直接使用iText原生API构建内容

  • 直接调用Div元素的setKeepTogether(true)方法即可实现和HTMLpage-break-inside: avoid完全一致的效果,容器内所有元素会被视为一个整体,分页时如果当前页剩余空间不足以容纳整个容器,会自动将完整容器移到下一页展示。
    代码示例:
import com.itextpdf.layout.element.Div;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.Document;

// 创建禁止内部分页的容器
Div noBreakContainer = new Div();
noBreakContainer.setKeepTogether(true); // 核心配置,对应分页不拆分规则

// 往容器内添加任意子元素
noBreakContainer.add(new Paragraph("Row 1"));
noBreakContainer.add(new Paragraph("Row 2"));

// 将容器添加到文档即可
document.add(noBreakContainer);

场景2:使用html2pdf模块转换HTML内容

如果是通过HTML转PDF的方式生成文档,iText的html2pdf模块默认已经支持page-break-inside: avoidCSS属性,你给出的HTML代码不需要额外修改即可被正确解析,容器内内容不会被分页拆分。

注意:如果容器本身的总高度已经超过单页的可展示高度,setKeepTogether(true)规则会自动失效,iText会对容器内容正常分页,避免内容溢出丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:24:03