IText html转pdf 解决中文自动换行问题
1、 加入依赖
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>core-renderer</artifactId>
<version>R8</version>
</dependency>
2、重新源码Breaker
在breakText方法重重新
加入以下代码
private static boolean isChinese(char c) {
Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
return ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_FORMS;
}
private final static char GETLEFT = ' ';
private static int getStrRigth(String a, int left) {
if (left > a.length()) {
return -1;
} else {
char[] ch = a.toCharArray();
if (left < ch.length) {
if (!isChinese(ch[left]) && GETLEFT != ch[left]) {
return left == 0 ? left + 1 : left;
} else {
return left == 0 ? left + 1 : left;
}
}else {
return -1;
}
}
}