5

我正在使用PDFBox将文本写入 PDF。
当我写英语时,它工作得非常好,但是当我尝试写希伯来语时,我会胡言乱语。

我已经尝试了各种解决方案,但似乎没有任何效果。我尝试了以下线程中描述的所有内容:FirstSecondThird

以上所有解决方案都使用 iText。我需要用 PDFBox 以某种方式管理它。

我确实看到使用 DictionaryEncoding 可以工作,尽管我不明白。我尝试使用它,但它不适用于希伯来语(写了从 1488 年到 1514 年的所有希伯来语字母)。

COSDictionary cosDic = new COSDictionary();

cosDic.setString( COSName.getPDFName("alef"), "1488" ); // First Hebrew letter
.
.
.
cosDic.setString( COSName.getPDFName("tav"), "1514" ); // Last Hebrew letter

font.setEncoding( new DictionaryEncoding( cosDic ) );

任何形式的帮助将不胜感激。

4

1 回答 1

2

我的解决方案是切换到iText
所有关于在 PDF 中编码 Unicode 字母和 RTL 支持的辛勤工作都是由他们完成的。
我想如果一个库太难了,可能还有另一个库可以做得更好。

于 2018-08-30T15:32:58.493 回答