我想创建一个包含英语和希伯来语的 pdf 文档,我可以使用以下命令查看希伯来语字母:BaseFont unicode = BaseFont.createFont("c:/windows/fonts/arialuni.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);但我看到它们相反。我希望能够以 rtl 模式显示希伯来语字符串,并且英语字符串将保持在 ltr 模式。

如何才能做到这一点?有英文和希伯来文的例子吗? (或任何其他 rtl 语言)。

提前致谢。

最佳答案

您应该能够通过 ColumnText 实例绘制文本并获得完整的 BiDi 支持。你只需要 setRunDirectionPdfWriter.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_DEFAULTRUN_DIRECTION_NO_BIDI 相同。

关于pdf-generation - java itext用希伯来语(rtl)和英语创建pdf,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5855078/

10-09 17:43