ITEXTPDF: печать арабских струн справа налево (RTL)JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 ITEXTPDF: печать арабских струн справа налево (RTL)

Сообщение Anonymous »

Я использую ITEXTPDF на Java, чтобы генерировать штампованные PDF, иногда сгенерированный PDF находится на арабском языке, и я сталкиваюсь с забавной проблемой.
Чтобы арабская страница создавалась из правой налево (RTL), я использую таблицы и клетки, которые имеют свойство pdfpcell.setrunderection (pdfwriter.run_dired_rtlection_dritrection. Когда я использую это свойство, арабский, вообще не показывается, если я избегаю призыв к этому свойству, арабские струны отображаются, это означает, что у меня не должно быть проблем с шрифтами, и я действительно не знаю, является ли это проблемой с Itext, или я просто что -то упускаю.BaseFont bf = BaseFont.createFont(Application.getBASEPATH() + "fonts/arabic.ttf",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font trebuchetSmaller = new Font(bf, 10, 0);

PdfPTable tbl = new PdfPTable(1);
PdfPCell cell = new PdfPCell();
Paragraph paragraph = new Paragraph();
paragraph.add(new Phrase("ربط صفحة على شبكة الإنترنت"), trebuchetSmaller));
cell.addElement(paragraph);
tbl.addCell(cell);
< /code>

Здесь необходимое изменение, которое заставляет арабскую строку исчезать: < /p>

BaseFont bf = BaseFont.createFont(Application.getBASEPATH() + "fonts/arabic.ttf",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font trebuchetSmaller = new Font(bf, 10, 0);

PdfPTable tbl = new PdfPTable(1);
PdfPCell cell = new PdfPCell();
cell.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);
Paragraph paragraph = new Paragraph();
paragraph.add(new Phrase("ربط صفحة على شبكة الإنترنت"), trebuchetSmaller));
cell.addElement(paragraph);
tbl.addCell(cell);
< /code>

Если я использую pdfwriter.run_direction_rtl < /code> с английской строкой, она правильно отображается в формате, в котором он должен был быть. Если я использую строку со смешанными английскими и арабскими персонажами, только английские показаны.

Подробнее здесь: https://stackoverflow.com/questions/101 ... o-left-rtl
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»