【发布时间】:2012-12-11 21:59:51
【问题描述】:
我正在使用 PDFBox 将文本写入 PDF。
当我写英语时,它工作得非常好,但是当我尝试写希伯来语时,我会胡言乱语。
我尝试了各种解决方案,但似乎没有任何效果。 我尝试了以下线程中描述的所有内容:First、Second、Third。
以上所有解决方案都使用 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 ) );
我们将不胜感激。
【问题讨论】:
-
从那以后,pdfbox 有了许多改进,所以现在很可能应该可以绘制希伯来字母了。但我认为还没有明确的 RTL 支持,所以你必须自己反转字形的顺序。话虽如此,如果您对这个问题不再感兴趣,您应该删除它。
标签: java pdf unicode encoding pdfbox