java itext создать PDF с иврита (RTL) и английский - PullRequest
4 голосов
/ 02 мая 2011

Я хочу создать PDF-документ, содержащий английский и иврит, и вижу буквы на иврите, используя: BaseFont unicode = BaseFont.createFont("c:/windows/fonts/arialuni.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); но я вижу их наоборот. Я хочу иметь возможность показывать строки на иврите в режиме RTL, и чтобы английские строки оставались в режиме LTR.

как это можно сделать? Есть ли пример английского и иврита вместе? (или любой другой язык rtl).

Спасибо заранее.

1 Ответ

0 голосов
/ 02 мая 2011

Вы должны быть в состоянии нарисовать свой текст через экземпляр 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.

...