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

iText7设置PageSize后Paragraph无法正常生效问题求助

iText7 Paragraph 无法适配自定义PageSize问题解决方案

问题根因

iText 7中PageSize构造函数传入的数值单位为点(pt),1pt≈0.35mm,你定义的55pt页面本身尺寸极小,叠加上下左右各1pt的边距设置后,页面实际可渲染内容的区域仅为33pt,远小于默认字体的基础行高,导致Paragraph无法正常适配显示。

修复方案

  • 首先修正原代码中PdfWriter构造参数的字符串引号不闭合问题,避免编译报错
  • 调整自定义页面尺寸到合理范围:如果无特殊极小页面需求,可直接使用预设尺寸如PageSize.A4;若需自定义小尺寸,建议宽高至少设置为100pt*50pt以上,保证文字有足够的渲染空间
  • 若必须使用小尺寸页面,可同步调整Paragraph的字体、行高参数适配页面,参考修改后代码如下:
// 自定义页面尺寸调整为100*50pt,可根据需求自行修改
PageSize objPageSize = new PageSize(100, 50);
// 修正原代码字符串引号缺失问题
PdfWriter writer = new PdfWriter("D:\\Test.pdf");
iText.Kernel.Pdf.PdfDocument pdf = new iText.Kernel.Pdf.PdfDocument(writer);
iText.Layout.Document document = new iText.Layout.Document(pdf, objPageSize);
document.SetMargins(1, 1, 1, 1);
Paragraph objParagraph = new Paragraph("HEADER")
    // 调整字体大小适配小页面
    .SetFontSize(8)
    // 调整行高减少多余留白
    .SetMultipliedLeading(1);
document.Add(objParagraph);
document.Close();
  • 若确实需要使用5*5pt的极小尺寸页面,可额外配置Paragraph的溢出处理规则,设置超出部分自动隐藏或拆分,避免内容溢出报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:24:02