2013-09-16 3 views
0

Я пытаюсь создать PDF-файл, содержащий ивритские слова.ПРАВО НА ЛЕВО при создании PDF в android

Когда файл создается все еврейские буквы будут удалены, а только английский один являются

в файле.

Может ли кто-нибудь помочь мне с этой проблемой?

Я использую IText 5.4.3

Это мой код, когда я добавить новый пункт

Paragraph p0 = new Paragraph("טופס קריאת שירות"); 
    BaseFont unicode = BaseFont.createFont("assets/fonts/arial.ttf", BaseFont.IDENTITY_H , BaseFont.EMBEDDED); 
    Font fontHebrew = new Font(unicode, 12, Font.NORMAL); 
    p0.setAlignment(Paragraph.ALIGN_CENTER); 
    p0.setFont(fontHebrew); 

    //add paragraph to document  
    doc.add(p0); 

Спасибо'S.

+0

Пожалуйста, воздержитесь от слова * Я использую com.itextpdf.com.lowagie *, поскольку это не говорит никому, в какой версии вы используете (в общем), и мне кажется, что вы используете мое имя (в частности). Скажем: «Я использую устаревшую версию iText версии 2.1.7» или что-то в этом роде. Это более важно. –

+0

Вы правы. Я добавил версию, которую я использую. –

+0

Нет такой вещи, как 5.4.3 com.lowagie. Кроме того, если вы скажете версию 5.4.3, вы говорите о JAVA iText или о Android-порту iTextG? См. Http://sourceforge.net/projects/itextg/ Это сбивает с толку. –

ответ

0

Код, добавленный вами, неверен на многих уровнях.

  1. Вы добавляете символы на иврите в исходный код. Эти символы могут потеряться, если файл сохранен с использованием неправильной кодировки, если файл скомпилирован с использованием неправильной кодировки и т. Д. ... Используйте нотацию Unicode вместо фактических символов.
  2. Возможно, не так, но нужно проверить: вы используете arial.ttf, разве вы не используете arialuni.ttf? Также: убедитесь, что вы упаковываете ttf в свой APK (вы не первыми, кто забудет отправить ресурс).
  3. Я не могу читать иврит, но я знаю, что это написано справа налево. RTL не поддерживается в классе Paragraph, только в PdfPCell и ColumnText.

См. the examples, чтобы узнать, как это делается: say_peace.pdf выполняется с использованием таблицы; ligatures_2.pd f выполняется с использованием столбца (второй пример - на арабском языке, но это тот же принцип, что и иврит).