XSL:FO, плавает в F.O.P

Некоторое время назад я узнал, что FOP не позволяет использовать числа с плавающей запятой и некоторые другие возможности Xsl-Fo 1.0. Я пробовал несколько разных способов подражать им, но не добился успеха. Если кто добился успеха в этом, или есть идея. Я был бы очень признателен за просветление.


person Meiscooldude    schedule 23.07.2009    source источник


Ответы (3)


http://xmlgraphics.apache.org/fop/compliance.html перечисляет, какие функции XSL-FO поддерживаются в Apache FOP, а какие нет. Поплавки еще не реализованы.

person Jeremias Märki    schedule 24.07.2009
comment
Разве не это в значительной степени то, что было сказано в оригинальном посте? Может ли кто-нибудь дать предложения о том, как эмулировать поплавки, а не просто повторять саму проблему? - person Rolf; 24.01.2012
comment
Теперь поддерживается с некоторыми ограничениями: xmlgraphics.apache.org/fop/fo.html#floats< /а> - person JasonPlutext; 23.06.2021

Я знаю, что это старый вопрос, но у меня была та же проблема (я не мог использовать float, а также не мог перейти на версию, в которой я мог бы использовать float). В конце концов я решил сохранить изображение между двумя текстовыми блоками, предшествующим текстовым блоком с keep-with-next="always" и текстом после изображения с keep-with-previous="always".

Я нашел эти примеры онлайн здесь. Таким образом, текст не обтекает изображение, а находится над и под ним (это работает для больших изображений, где текст все равно не обтекает края, что было в моем случае, а предыдущий/последующий текст не слишком много).

person Togepi    schedule 06.01.2017

Это примерно на 4 года позже, но мне удалось заставить таблицу плавать прямо с помощью небольшого ... обмана.

fo:table width="15cm"
fo:table-column column-width="7cm"/
fo:table-column column-width="3cm"/
fo:table-column column-width="5cm"/
fo:table-row
fo:table-cell border="none"
[Intentionally left blank]
/fo:table-cell
fo:table-cell border="solid"
[Content of 3cm column]
/fo:table-cell
fo:table-cell border="solid"
[Content of 5cm column]
/fo:table-cell
/fo:table-row
/fo:table

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

Извините, я не мог предложить решение общего случая.

person Zibbobz    schedule 29.07.2013