使用iTextSharp拆分PDF文本时无法识别换页导致行合并问题求解
解决方案
问题原因
PDF文档的换页符对应ASCII码中的换页控制符(\f),在VB中对应内置常量vbFormFeed。你当前的拆分分隔符集合仅包含了常规换行符,未包含换页符,因此换页位置不会触发拆分逻辑,导致前后内容被合并到同一行。
修复代码
只需要将vbFormFeed加入拆分分隔符数组即可:
Dim RigheTesto As String() RigheTesto = testoEstrapolato.Split({vbCrLf, vbCr, vbLf, vbFormFeed}, StringSplitOptions.RemoveEmptyEntries)
可选补充说明
如果你需要区分普通换行和换页位置,可以先对原始文本做预处理,在所有换页符前后插入自定义标记,拆分后即可识别哪一行是页首/页尾内容:
' 预处理:给换页符加标记 testoEstrapolato = testoEstrapolato.Replace(vbFormFeed, vbCrLf & "---分页线---" & vbCrLf) ' 再执行拆分 Dim RigheTesto As String() RigheTesto = testoEstrapolato.Split({vbCrLf, vbCr, vbLf}, StringSplitOptions.RemoveEmptyEntries)
内容的提问来源于stack exchange,提问作者Stefano Ravagni
相关产品推荐
相关产品推荐

