java中cell无法输出_java – iText 5.5.3 PDFPCell:长文本不适合单元格(不正确地包装文本)...

我正在尝试创建一个包含表格的波斯语PDF,我想写入它.当我的字符串很长时,它不能正确地适合单元格.感觉像字符串填充单元格颠倒!…我的意思是,例如,当我想写“你好我的朋友.什么事情?”

在单元格中输出如下:

|这是怎么回事? |

|我的朋友|

|你好|

但当然是波斯语(用英语写的)

在这里,我顺便附上了代码

private LanguageProcessor al = new ArabicLigaturizer();

cell = new PdfPCell(new Phrase(al.process(persian_text), fontNormal));

cell.setHorizontalAlignment(Element.ALIGN_RIGHT);

cell.setVerticalAlignment(Element.ALIGN_TOP);

cell.setBorderWidth(0);

table.addCell(cell);

我会感激你的帮助

解决方法:

首先:iText 5.5.5不存在(尚未).您可能正在使用其他版本.

PdfPCell cell = new PdfPCell(new Phrase(arabic_text, fontNormal));

cell.setVerticalAlignment(Element.ALIGN_TOP);

cell.setBorderWidth(0);

cell.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);

table.addCell(cell);

你不应该直接使用ArabicLigaturizer!在上面的代码片段中,arabic_text是带有阿拉伯字符的原始字符串.请注意,您不应在源代码中使用Unicode字符.在我对这个问题的回答中看到第二个观察结果:Can’t get Czech characters while generating a PDF

标签:java,pdf,itext

来源: https://codeday.me/bug/20190708/1402590.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值