FOP: fo: атрибут ширины блока игнорируется? - PullRequest
7 голосов
/ 20 мая 2009

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

Эта задача должна быть выполнена с использованием [fo:table], но я не могу успешно расположить заголовки (ширину и поля / отступы).

Подводя итог, я хочу поместить заголовки, используя [fo:block], устанавливая атрибут width плюс отрицательное поле (т.е. width="1.5cm" margin-top="-2em"), но ширина не вступает в силу.

Ты знаешь, как это сделать?

Спасибо.

Ответы [ 3 ]

15 голосов
/ 21 мая 2009

Свойство width не применяется к fo: block (см. http://www.w3.org/TR/xsl11/#fo_block).. Если вы хотите переопределить ширину, вам нужно использовать fo: block-container (http://www.w3.org/TR/xsl11/#fo_block-container) или Еще один элемент, который генерирует так называемую опорную область. Немного трудно понять, каков именно ваш ожидаемый макет. Возможно, вы также можете поэкспериментировать с использованием свойств «start-indent» и «end-indent», чтобы косвенно влиять на фактическую ширину fo: block. HTH

1 голос
/ 21 мая 2009

Наконец, я не смог этого сделать, потому что [fo: inline] пытается собрать все доступное пространство.

Один трюк состоит в том, чтобы поместить поля (влево или вправо) на 90% или более, чтобы заполнить этот пробел, но у меня тогда нет никакой подсказки, что предыдущий текст [fo: inline] отображался в одном две или более строки.

Единственный способ, с помощью которого я сгенерировал заголовки столбца, - это использование [fo: table] плюс добавление полей (слева и справа) для каждой ячейки.

PS: я использую FOP-0,95

0 голосов
/ 20 декабря 2011

Для FOP вы можете использовать таблицы для установки ширины, а не применять ее непосредственно к блоку.

...