LINUX.ORG.RU

Apache FOP 0.94


0

0

FOP наиболее работоспособный open-source интерпретатор XSL-FO для предпечатного преобразования XML.

Это вторая версия промышленного качества, выпущенная после значительной переработки внутренностей FOP'а. В ней исправлена масса ошибок и добавлены новые возможности, среди которых самые важные:

  • Автоматическое определение шрифтов, установленных в системе. Создание метрик теперь необязательно.
  • Поддержка collapsing-рамок у таблиц.
  • Внутренние сылки ведут на сам объект, а не на верх страницы.
  • Поддержка разбивки строк типа UAX#14, с учётом используемого языка.

Таблица совместимости со стандартом стандарта XSL-FO 1.1: http://xmlgraphics.apache.org/fop/com....

>>> Подробности

anonymous

Проверено: Shaman007 ()

Парамесяцев назад пришлось значительно дорабатывать напильником 0.93 чтоб в проект встоить. Так что когда выйдет 1.0 тогда будем обновляться. :). Но зато RTF & TIFF рендеряет наура :).

vtVitus ★★★★★
()
Ответ на: комментарий от Sikon

>Оно, [censored], float когда будет поддерживать?!

Когда ты возьмёшь в руки редактор нафигачешь код для его работоспособности. Не раньше.

vtVitus ★★★★★
()
Ответ на: комментарий от ero-sennin

> Ну отлично, ещё лет 50-100, и это жабочудище почти догонит TeX!

А FOP за ним, оказывается, гонится? А мужики-то не знают! (С)

azakharchuk
()

Может кто подскажет решение "проблемки" (признаюсь, особо не искал, может кто сходу скажет): в сгенерированном pdf вначале идет содержание, список иллюстраций и прочее - эти страницы нумеруются римскими цифрами. Основной текст нумеруется арабскими - но нумерация начинается с 1 (хотя страница это уже десятая). Как сделать, чтобы нумерация шла сразу арабскими и не прерывалась?

roy ★★★★★
()

Эх, медленно, но верно :)

Сразу спрошу - а кроме апачевского FOP'а, ещё свободные FO-трансляторы есть? А то в OpenSuSE 10.2 попытался сгенерить из docbook'а PDF - ругается на LaTeX (какая-то непереносимость пакетов), а для системки одной думалось использовать либо docbook, либо FO. Вот docbook с полпинка не заработал :(

Ay49Mihas ★★★★
()
Ответ на: комментарий от Ay49Mihas

> ещё свободные FO-трансляторы есть?

Есть еще RenderX XEP -- проприетарный и коммерческий, однако, предоставляет бесплатную лицензию для персонального использования.

kondor ★★★
()
Ответ на: комментарий от Ay49Mihas

> А то в OpenSuSE 10.2 попытался сгенерить из docbook'а PDF - ругается на LaTeX (какая-то непереносимость пакетов), а для системки одной думалось использовать либо docbook, либо FO. Вот docbook с полпинка не заработал :(

AFAIR, перегонка docbook в PDF, в некоторых случаях не имеет ничего общего с FO.

docbook + DSSSL -> PDF (судя по непереносимости пакетов, это как раз твой случай)

Случай касающийся FO, выглядит так:

docbook + XSL ---(XSLT processor)---> XSL-FO ---(FO processor)---> PDF

Можешь попробовать скачать Walsh'евские stylesheets для docbook, перегнать docbook в FO, а потом FOP'ом сделать PDF (правда разработаны они более в демонстрационных целях, то есть, расчитывать PDF высокого полиграфического качества не стоит).

azakharchuk
()

ЗдОрово! Вернусь из отпуска протестирую и обновлюсь обязательно.

А к 0.93 претензия только одна и пока неразрешимая - при генерации PDF документа на 1500 страниц Resin2 на котором живет FOP просто загибается, отожрав предварительно всю доступную VM память.

Собственно говоря оно раньше и на 50-100 страницах различных бухгалтерских отчетов загибалось с теми же симптомами, пока Resin не дали больше памяти (-Xms256m -Xmx768m). К сожалению для тысяч страниц такое узколобое решение этой проблемы уже не проканывает.

P.S. Хорошо хоть для старого LaTex 1500 страниц - абсолютно не проблема, но с радостью полностью перешел бы с избыточного для моих задач и не явовского LaTeX на FOP, если бы эта проблема низкой производительности была решена разработчиками.

sergom
()
Ответ на: комментарий от sergom

Есть такая проблема у FOP. Не думаю, что решится она скоро. FOP вообще развивается довольно медленно. Мы его используем для демок, прототипов и open source вещей. В production, как правило, используем XEP. Но скорее не из-за производительности, а из-за того что FOP, не поддерживает некоторые вещи в XSL FO, без которых нельзя реализовать тот внешний вид документа, который наворотили дизайнеры. Я не говорю, что проблемы этой нет вообще, он действительно работает медленнее чем XEP, но бороться с этим можно. 1500 страниц на FOP поднимать не пытались (на XEP поднимали 3000+ страниц), но 50-100 не должно быть проблемой.

http://xmlgraphics.apache.org/fop/0.93/running.html

Внизу есть раздел Memory Usage, там есть пару советов. В частности, отказ от forward references может существенно облегчить процесс, это например может быть clickable TOC (оглавление) в начале.

Мне интересно другое. Как у тебя так запросто рассматривается переход с LaTeX на FOP? Ты TeX и XSL FO вручную что ли генерируешь из Java кода?

azakharchuk
()
Ответ на: комментарий от azakharchuk

> http://xmlgraphics.apache.org/fop/0.93/running.html
> Внизу есть раздел Memory Usage, там есть пару советов. В частности,
> отказ от forward references может существенно облегчить процесс,
> это например может быть clickable TOC (оглавление) в начале.

Ну оглавлений у нас нет никаких, обычные "плоские" документы. А вот понравилось мне про:

Use multiple page sequences. FOP starts rendering after the end of a page sequence is encountered. While the actual rendering is done page-by-page, some additional memory is freed after the page sequence has been rendered. This can be substantial if the page sequence contains lots of FO elements.

Нужно будет действительно с sequences поиграться. Хотя принципиально это вряд-ли что-то изменит. После отпуска обязательно проверю :)

> Мне интересно другое. Как у тебя так запросто рассматривается
> переход с LaTeX на FOP? Ты TeX и XSL FO вручную что ли генерируешь
> из Java кода?

Не просто рассматривается, а мимолетом. На самом деле это было очень даже трудоемко (не путать со сложно). Переход длился не один месяц и заключался в планомерном переписывании латекс шаблонов и встраивание их на новые рельсы XSL+XML+FO+FOP. В конечном итоге получилось довольно похоже, только все куски текстов теперь хранятся не в .tex а в .xsl.

Из ява кода как в случае шаблонов текса, так и в случае FOP происходит только заполнение шаблонов данными. В 1-м случае - подстановкой строк, во втором - наложением на герируемый на лету XML с данными XSL с текстами, все в общем стандартно.

sergom
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.