2016-01-20 5 views
2

Я создал небольшое приложение Java Swing для создания PDF-файлов XML-файлов здесь, на моем рабочем месте. Мне нужно включить перенос, поскольку у меня есть текст в таблицах, которые выходят за границы ячеек.Проблемы с переносом с использованием FOP 2.0

Я загрузил шаблоны переносов OFFO для FOP и поместил файл fop-hyph.jar вместе с моим fop.jar в папку «lib».

При запуске приложения я получаю следующее сообщение об ошибке:

Jan 20, 2016 2:57:43 PM org.apache.fop.hyphenation.Hyphenator getHyphenationTree 
SEVERE: Couldn't find hyphenation pattern for lang="en",country="US". 

Я использую FOP 2.0 и иметь следующую запись в моем fop.xconf файле:

<hyphenation-pattern lang="en">en_US</hyphenation-pattern> 

Я также пробовал это без разницы:

<hyphenation-pattern lang="en" country="US">en_US</hyphenation-pattern> 

на корне файла XSL-FO Я вошли:

<fo:root font-family="Helvetica" language="en" country="US" hyphenate="true"> 

Что мне недостает, чтобы получить эту работу? Все остальное отлично работает, правильно создает PDF-файлы.

ответ

2

Согласно hyphenation pattern installation instruction, файл шаблона для американского английского называется просто en.xml, так и в файле конфигурации вы должны иметь:

<hyphenation-pattern lang="en">en</hyphenation-pattern> 

Кстати, записи в файле конфигурации требуется только при вы хотите что-то отличное от поведения по умолчанию, поэтому в этом случае вы можете полностью опустить его.

+0

Хорошо, поэтому удаление «_US» удалило сообщение об ошибке. Я прочитал это в инструкциях по установке и все еще как-то неправильно истолковал это. Я все еще не переношу перенос в свой стол. Есть ли '' элементы, которые не допускаются к переносу? Я получаю сообщение о том, что они переполняют допустимую область. – twfurst

+0

Если какой-либо текст не переносится, несмотря на присутствие 'hyphenate =" true "' на 'fo: root', причиной может быть: _ (a) _' hyphenate = "false" 'на' fo: block' предка текста; _ (b) _ 'keep-together =" always "' (который включает 'keep-together.within-line =" always "') на предка текста; _ (c) _ текст не является текстом :-) (правила переноса не применяются к последовательностям цифр). – lfurini

+1

Цифры могут быть проблемой, строка выглядит примерно как 23-00-00-01A-251A-A. Есть ли способ обойти проблему с цифрами? – twfurst

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