Некоторое время назад я узнал, что FOP не позволяет использовать числа с плавающей запятой и некоторые другие возможности Xsl-Fo 1.0. Я пробовал несколько разных способов подражать им, но не добился успеха. Если кто добился успеха в этом, или есть идея. Я был бы очень признателен за просветление.
XSL:FO, плавает в F.O.P
Ответы (3)
http://xmlgraphics.apache.org/fop/compliance.html перечисляет, какие функции XSL-FO поддерживаются в Apache FOP, а какие нет. Поплавки еще не реализованы.
Я знаю, что это старый вопрос, но у меня была та же проблема (я не мог использовать float, а также не мог перейти на версию, в которой я мог бы использовать float). В конце концов я решил сохранить изображение между двумя текстовыми блоками, предшествующим текстовым блоком с keep-with-next="always"
и текстом после изображения с keep-with-previous="always"
.
Я нашел эти примеры онлайн здесь. Таким образом, текст не обтекает изображение, а находится над и под ним (это работает для больших изображений, где текст все равно не обтекает края, что было в моем случае, а предыдущий/последующий текст не слишком много).
Это примерно на 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
Это ни в коем случае не элегантное или надежное решение, но его стоит помнить, если вам когда-нибудь понадобится специально выровнять таблицу. Аналогичное решение может работать с пустым блоком и другим блоком, остающимся на той же строке, но я не проверял это в своем собственном использовании, поэтому ваши результаты могут отличаться.
Извините, я не мог предложить решение общего случая.