我正在使用 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 ) );

任何帮助将不胜感激。

最佳答案

对我来说,解决方案是切换到iText
他们完成了有关在PDF中编码Unicode字母和RTL支持的所有艰苦工作。
我想如果一个库的某些问题太难了,那么可能还有另一个库可以做得更好。

08-27 05:14