iTextSharp 7 换行和不换行

iTextSharp 7 wrapping and no wrapping

是否可以管理文本换行? 我在一个段落中有一个长字符串,比一个单元格还长。如果是 "ABCDEFGHIJKLMN" 形式,将显示在一行(row)文本上。但如果是"ABC DEFGH IJKLM"形式,则用两行包裹起来。怎么会被强制留在一线?

OP 在评论中澄清

I would like the cell to expand. Anyway, the no wrapping idea comes out of many pages on the Internet saying it wouldn't wrap if no wrapping spaces are used. I don't know if it did, it doesn't do this anymore ...

iText 7 Table 及其默认 TableRenderer 渲染器 class 仅支持固定列宽,可以通过

指定
  • 一个固定的table宽度和一个整数,列数,
  • 一个固定的table宽度和一个相对列宽的数组,或者
  • 绝对列宽数组。

因此,互联网上许多页面所说的似乎不可能。


也就是说,iText 7 架构允许设置自定义下一个渲染器。因此,如果您实现 table 渲染器,则可能会引入一定量的动态行为,特别是一些自动单元格大小调整。

这样的自定义渲染器可能会 运行 出现问题,但是,每当代码使用 ILargeElement 接口 Table 实现时,因为第一个单元格必须是布局在所有单元格内容已知之前编辑。