谢谢甜老师的指点!
按照老师的方法,已经解决了问题。
参照:http://www.debugease.com/csharp/139965.html
下载iTextSharp.dll 5.5.8.0 源代码,修改DefaultSplitCharacter类,重新生成dll,项目重新引用dll。具体代码修改为:
public bool IsSplitCharacter(int start, int current, int end, char[] cc, PdfChunk[] ck)
{
char c;
if (ck == null)
c = cc[current];
else
c = (char)ck[Math.Min(current, ck.Length - 1)].GetUnicodeEquivalent(cc[current]);
if (c <= ' ' || c == '-')
{
return true;
}
if (c < 0x2e80)
return false;
return ((c >= 0x2e80 && c < 0xd7a0)
|| (c >= 0xf900 && c < 0xfb00)
|| (c >= 0xfe30 && c < 0xfe50)
|| (c >= 0xff61 && c < 0xffa0))
&& (current >= cc.Length - 1 || ",。;、:!?".IndexOf(cc[current + 1]) == -1);
}
现在有个小瑕疵,就是遇到标点会提前换行,有时候行尾看起来空了很多,见下图。
还好不好改?如果标点能挤到上一行就好了。
此主题相关图片如下:aaa.jpg
[此贴子已经被作者于2019/5/30 16:44:49编辑过]