Itext7 Itext 7 HtmlConverter无法包装不包含空格字符的单词
我正在使用Itext7 Itext 7 HtmlConverter无法包装不包含空格字符的单词,itext7,Itext7,我正在使用iText html2PDFversion 2.0.0将HTML转换为PDF 在我的HTML文件中,有太多无法包装在表列中的单词 它可以在iText 5库中完成。 这是我的HTML和java文件 TM_报告 .div半宽{ 显示:内联; 宽度:50%; 颜色:红色; } 3aaa2aaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
iText html2PDF
version 2.0.0将HTML转换为PDF
在我的HTML文件中,有太多无法包装在表列中的单词
它可以在iText 5
库中完成。
这是我的HTML和java文件
TM_报告
.div半宽{
显示:内联;
宽度:50%;
颜色:红色;
}
3aaa2aaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4aaaaaaaaaaaaaaaaaaaaaaaaabbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2
aaaa22aaaa-aaaaaaaaaaaa-aaaaaaaaaaaaaaaa-bbbbbbbbbbb-bbbbbbbbbb-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
有
你需要看看这个界面
public interface ISplitCharacters {
/**
* Returns <CODE>true</CODE> if the character can split a line. The splitting implementation
* is free to look ahead or look behind characters to make a decision.
* @param glyphPos the position of {@link Glyph} in the {@link GlyphLine}
* @param text an array of unicode char codes which represent current text
*/
boolean isSplitCharacter(GlyphLine text, int glyphPos);
}
默认实现(由文档使用)是DefaultSplitCharacters
,它被设置为以各种形式的空格分割
最好的解决方案是编写一个类,该类继承自DefaultSplitCharacters
,并添加自己的额外分割字符(如字母数字字符)
为了设置它,您可以在根元素上使用setProperty
(从中继承Document
)。属性名称为property.SPLIT_字符
由于您从未在原始代码中创建布局文档
,因此需要进行一些修补
您可以使用以下代码渲染到列表
:
List<IElement> elements = HtmlConverter.convertToElements(stream, converterProperties);
List elements=HtmlConverter.convertToElements(流、转换器属性);
然后,您可以将元素添加到
文档
,该文档是通过正确实现ISplitCharacters
Document Document=new Document(pdfDoc)预先设置的;document.setProperty(Property.SPLIT_CHARACTERS,new DefaultSplitCharacters(){@Override public boolean isSplitCharacter(GlyphLine text,int glyphppos){return true;}});这个成功了