在XWPFDocument中使用了阿拉伯语和波斯语

时间:2017-07-09 16:43:56

标签: java converter xwpf

我想用阿拉伯字母将单词转换为pdf, 经过一点点R& D我决定使用

  

org.apache.poi.xwpf.converter.pdf.PdfConverter

但是当我写下面的代码时,最后的结果是从左到右,并且字样混乱,例如对于“سعید”结果pdf是“سعید”我的docx非常大而不是一段:

qb_sessions

2 个答案:

答案 0 :(得分:1)

此主题:Creating PDF document from Word document using java api,包含您可以使用的其他库。我不认为你正在使用的这个库将支持布局选项;它还包含许多错误,不支持此处提到的表格,图形,页码:https://github.com/opensagres/xdocreport/wiki/XWPFConverterPDFViaIText

答案 1 :(得分:1)

有一种解决方法,可以解决此问题。 您需要使用ICU4J库。 然后:

String shaped = new StringBuilder(new ArabicShaping(ArabicShaping.LETTERS_SHAPE).shape(s))
.reverse().toString();

尽管您可能会遇到波斯Unicode的一些问题。出现问题,有人通过修补ArabicShaping来解决此问题。我没有找到它的链接,但是 here是修补的代码。 (我必须将文件上传到我的Google驱动器中,以免随着时间的流逝而被删除)

另外,here是代码的链接以及它与主要代码的区别。

为方便起见,我将类名更改为PersianShaping