我正在使用iText7将html转换为pdf。我对打破冗长的单词有问题。(只在不合适的时候拆分单词)。
<td>The labrado is jumping over the fence tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt</td>

我试图重写IsSplitCharacter以始终返回true,但这会导致它在不想要的地方断开单词,比如下面的图像(断开单词"jump-ing")。
public class CustomSplitCharacters : DefaultSplitCharacters
{
public override bool IsSplitCharacter(GlyphLine text, int glyphPos)
{
return true;
}
}

如果这个问题和其他帖子相似,我向您道歉。但我似乎找不到正确的解决方案。而且我没有足够的声誉来跟进这些帖子的评论。
提前感谢您的帮助。
发布于 2020-06-12 21:08:33
我已经创建了一个临时解决方案
public class CustomSplitCharacters : DefaultSplitCharacters
{
public override bool IsSplitCharacter(GlyphLine text, int glyphPos)
{
bool baseResult = base.IsSplitCharacter(text, glyphPos);
bool myResult = IsSpecialCharacter((char)text.Get(glyphPos).GetUnicode());
return baseResult || myResult;
}
private bool IsSpecialCharacter(char c)
{
Regex regexItem = new Regex("[a-zA-Z0-9]");
return !regexItem.IsMatch(c.ToString());
}
}这在大多数情况下都有效。但它仍然无法打破一个很长的单词。我仍然希望得到一个极端情况的答案。非常感谢您的回复。

https://stackoverflow.com/questions/62332786
复制相似问题