Уменьшить, чтобы уместить изображение в FOP - PullRequest
28 голосов
/ 03 июня 2011

Я использую FOP версии 1.0 для создания PDF-файлов.На одной из страниц я хотел бы отобразить изображение (2552 x 4200 пикселей) и уменьшить его, если оно не полностью помещается на странице.Насколько я мог видеть в списке рассылки , рекомендуемый способ сделать это будет следующим:

<fo:external-graphic inline-progression-dimension.maximum="100%" 
                     content-height="scale-down-to-fit" 
                     content-width="scale-down-to-fit" 
                     src="..."/>

К сожалению, это все еще не отображает все изображение.Нижняя часть изображения обрезана.Кто-нибудь может дать мне подсказку о том, что я, возможно, делаю неправильно?

Ответы [ 2 ]

14 голосов
/ 06 августа 2014

Я нашел эту страницу здесь, объясняющую, как масштабирование работает с XSL-FO .

По сути, это фрагмент, который я использовал, чтобы заставить его работать:

<fo:external-graphic
    src="url('...')"
    width="100%"
    content-height="100%"
    content-width="scale-to-fit"
    scaling="uniform"
    xsl:use-attribute-sets="img"/>

Я обнаружил, что width="100%" был недостающим элементом в ваших собственных попытках.Надеюсь, что это поможет будущим посетителям.

3 голосов
/ 18 апреля 2013

Определение точной высоты и ширины «области просмотра»:.

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

Может догадываться, но не знать точно.

...