2013-09-15 7 views
5

В последние несколько дней я изучал поддержку еврейских букв в проекте APP для создания файла PDF.FOP apache - поддержка букв на иврите

Я видел, что в прошлом была проблема с этим, и я действительно не понимал, было ли это решение или нет?

Если есть поддержка, может кто-нибудь показать/перенаправить меня на простой образец, предоставив мне XSL-FO файл с еврейскими буквами, которые при использовании FOP PDF генерируются должным образом (очищаются и не обращаются по буквам заказов).

Я был бы очень признателен за ваш ответ. Эта вещь действительно беспокоит меня, и я думаю, что переехал в IText из-за этого ...

ответ

4

Какой образец вы ищете? Работает отлично для меня ...

<fo:list-item><fo:list-item-label end-indent="label-end()"><fo:block>Hebrew</fo:block></fo:list-  item-label> 
<fo:list-item-body start-indent="body-start()"><fo:block xml:lang="he"><fo:bidi-override  
unicode-bidi="embed" direction="rtl">כאשר העולם רוצה לדבר, הוא מדבר ב־Unicode</fo:bidi- 
override></fo:block></fo:list-item-body></fo:list-item> 

Если вы используете bidi-override и направление, это отлично работает. Я тестировал это в RenderX, Antennahouse и Apache FOP, и результаты те же.

Изображение сверху Antennahouse, среднее RenderX и нижнее Apache FOP.

Для вас вопрос ниже, использование направления rtl и bidi-override связано с тем, что предложение содержит смешанный английский и иврит. Если у вас был только иврит, он должен правильно отформатировать. Посмотрите это изображение с помощью FOP тремя способами. Средняя версия неверна, потому что для этого требуются эти атрибуты.

Вот полный пример для этого:

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> 
    <fo:layout-master-set> 
    <fo:simple-page-master master-name="PageMaster" margin="25mm" page-width="8.5in" page-height="11in" > 
    <fo:region-body margin="10mm"/> 
    <fo:region-before extent="6mm" display-align="center"/> 
    <fo:region-after extent="6mm" display-align="center"/> 
    </fo:simple-page-master> 
    </fo:layout-master-set> 
    <fo:page-sequence master-reference="PageMaster"> 
    <fo:flow flow-name="xsl-region-body" line-height="1.7" font-family="Arial Unicode MS"> 
    <fo:block>Mixed English and Hebrew with Override</fo:block> 
    <fo:block xml:lang="he"><fo:bidi-override unicode-bidi="embed" direction="rtl">כאשר העולם רוצה לדבר, הוא מדבר ב־Unicode</fo:bidi-override></fo:block> 
    <fo:block>Mixed English and Hebrew no Override</fo:block> 
    <fo:block>כאשר העולם רוצה לדבר, הוא מדבר ב־Unicode</fo:block> 
    <fo:block>Hebrew only no Override</fo:block> 
    <fo:block>כאשר העולם רוצה לדבר, הוא מדבר ב־</fo:block>  
    </fo:flow> 
    </fo:page-sequence> 
    </fo:root> 

FOP showing different ways you can render

All three major FO renderers

+0

ведьма F версия вы используете? –

+0

в моем случае параметр данных неизвестен, он может быть на английском/иврите. как я могу справиться с этим делом? –

+0

Вы проверили его, не отметив его тогда? –

Смежные вопросы