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

Itext7中Paragraph添加换行无效,寻求解决办法

iText7 Paragraph换行问题解决方法

首先,你遇到的问题是因为New Text("\n")把\n当成普通字符串输出了,iText7不会解析这个转义序列。下面是几种正确的换行方式:

方法1:使用VB.NET原生换行符

直接用vbCrLf(Windows标准换行)或者Environment.NewLine替换你的"\n":

Dim P As Paragraph = New Paragraph()

With P
    .SetTextAlignment(TextAlignment.LEFT)
    .SetFontSize(10)
    .Add(New Text("My Company LLC. "))
    .Add(New Text(vbCrLf))
    .Add(New Text("Company Address"))
End With

方法2:直接向Paragraph添加换行符(无需Text包装)

可以跳过Text对象,直接把换行符添加到Paragraph中:

Dim P As Paragraph = New Paragraph()

With P
    .SetTextAlignment(TextAlignment.LEFT)
    .SetFontSize(10)
    .Add("My Company LLC. ")
    .Add(vbCrLf)
    .Add("Company Address")
End With

方法3:使用iText7内置的换行方法

iText7的Paragraph提供了专门的AddNewLine()方法,更符合API规范:

Dim P As Paragraph = New Paragraph()

With P
    .SetTextAlignment(TextAlignment.LEFT)
    .SetFontSize(10)
    .Add(New Text("My Company LLC. "))
    .AddNewLine()
    .Add(New Text("Company Address"))
End With

关于SetFixedPosition的问题

SetFixedPosition是用来设置元素在页面上的绝对坐标位置的,和文本换行没有任何关系,用它不仅解决不了你的问题,反而会破坏正常的文档布局,完全没必要用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 06:42:46