- 博客(0)
- 资源 (8)
- 收藏
- 关注
解决jasperreport、itext生成pdf时符号换行,复刻word中文版式
在使用jasperreport生成pdf时,会发现结尾为逗号或者句号时,若一行字数已满,逗号或者句号会在第二行展示,与常规的中文版式不相符。然而在word中,若遇到此类情况,会将文字缩进使得标点符号能在一行中展示,对于双引号、书名号等,若在一行结尾,会将该符号显示在第二行。主要原因是itext分隔符使用的是英文分隔符。
为了处理此场景,需要对jasperreport源码和pdf的源码进行修改,复刻word的中文版式的样子。
解决问题如下:
1、部分不能出现在行首的中文自动归于上一行,部分不能出现在结尾的中文自动归于下一行
2、单行结尾遇到符号(逗号或者句号)时,自动收缩字间距,使得一行的文本能够正常显示
3、解决长文本分页时会掉字的问题(分页的那张一行仅有展示一个字)
覆盖DefaultSplitCharacter、BidiLine、ColumnText、SimpleTextLineWrapper这4个文件即可
jasperreports版本6.20.0
itext版本2.1.7
2024-03-12
解决jasperreport、itext生成pdf时符号换行,复刻word中文版式
在使用jasperreport生成pdf时,会发现结尾为逗号或者句号时,若一行字数已满,逗号或者句号会在第二行展示,与常规的中文版式不相符。然而在word中,若遇到此类情况,会将文字缩进使得标点符号能在一行中展示,对于双引号、书名号等,若在一行结尾,会将该符号显示在第二行。主要原因是itext分隔符使用的是英文分隔符。
为了处理此场景,需要对jasperreport源码和pdf的源码进行修改,复刻word的中文版式的样子。
解决问题如下:
1、部分不能出现在行首的中文自动归于上一行,部分不能出现在结尾的中文自动归于下一行
2、单行结尾遇到符号(逗号或者句号)时,自动收缩字间距,使得一行的文本能够正常显示
3、解决长文本分页时会掉字的问题(分页的那张一行仅有展示一个字)
覆盖DefaultSplitCharacter、BidiLine、ColumnText、SimpleTextLineWrapper这4个文件即可
jasperreports版本6.20.0
itext版本2.1.7
2024-02-26
mybatipse 1.0.20
MyBatis的是一种流行的SQL映射框架。 而MyBatipse能够提供在eclipse中编辑mybatis配置文件时提供辅助功能并校验其中的语法。
2016-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人