我想创建一个包含英语和希伯来语的 pdf 文档,我可以使用以下命令查看希伯来语字母:BaseFont unicode = BaseFont.createFont("c:/windows/fonts/arialuni.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
但我看到它们相反。我希望能够以 rtl 模式显示希伯来语字符串,并且英语字符串将保持在 ltr 模式。
如何才能做到这一点?有英文和希伯来文的例子吗? (或任何其他 rtl 语言)。
提前致谢。
最佳答案
您应该能够通过 ColumnText 实例绘制文本并获得完整的 BiDi 支持。你只需要 setRunDirection
到 PdfWriter.RUN_DIRECTION_DEFAULT
以外的东西。
您可以使用带有非默认运行方向的更长版本的 ColumnText.showTextAligned()
获得相同的效果:
ColumnText.showTextAligned(contentByte, Element.ALIGN_LEFT, myParagraph, x, y, rotation,
PdfWriter.RUN_DIRECTION_LTR, 0);
这会将 LTR 设置为默认方向,并激活 BIDI 处理。在
ColumnText
中, RUN_DIRECTION_DEFAULT
与 RUN_DIRECTION_NO_BIDI
相同。关于pdf-generation - java itext用希伯来语(rtl)和英语创建pdf,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5855078/