Вы не можете использовать свойства фона на главном устройстве, но вам не нужно нарезать фон, чтобы соответствовать вашим отдельным регионам. Вам просто нужно загрузить фоновое изображение в качестве внешней графики внутри абсолютно позиционированного контейнера. Поместите этот абсолютно позиционированный контейнер в то, что когда-либо занимает ваш верхний левый угол (область раньше, регион-начало, регион-тело, ...), и он будет отображаться ниже всего, что следует за ним.
E.g. У меня есть макет с областью - перед тем, как взять верхнюю 40-миллиметров страницы формата А4 с областью тела и регионом, после того, как остался на моей странице.
Таким образом:
<fo:page-sequence master-reference="mya4">
<fo:static-content flow-name="region-before">
<!-- this absolutely positioned container renders
a full size background image -->
<fo:block-container width="210mm" left="0mm" top="0mm"
height="297mm" position="absolute">
<fo:block>
<fo:external-graphic
content-height="297mm"
src="/a4-bg.pdf"/>
</fo:block>
</fo:block-container>
<!-- all other content must follow after background -->
<!-- all other region-before stuff goes here-->
<fo:flow flow-name="body">
<fo:block>...</fo:block>
</fo:block>
</fo:page>
оказывает a4-bg.pdf в качестве полной фона страницы под все другие элементы страницы.
Я использую это в производственной среде на FOP 2.1, но он должен работать и для более старых версий FOP.
Спасибо за этот отзыв. Оно работает. – bibodo
Если ответ был полезен, рассмотрите [его принятие] (http://stackoverflow.com/help/someone-answers). – lfurini
Если фоновое изображение является полной страницей, у вас есть область до или после, она не заполняет всю страницу, если вы используете область тела для изображения. Вместо этого используйте background-background для фонового изображения и установите размер полной высоты страницы. –