Benjamin Muschko
Benjamin Muschko

Reputation: 33426

Scale down to fit an image in FOP

I am using FOP version 1.0 to create PDFs. In one of the pages I'd like to display an image (2552 x 4200 pixel) and scale it down if it doesn't fully fit on the page. As far as I could see on the mailing list the recommended way of doing this would be following:

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

Unfortunately, that still doesn't display the whole image. The lower part of the image is cut off. Can anyone give me a hint on what I am potentially doing wrong?

Upvotes: 31

Views: 19421

Answers (2)

Lukas Eder
Lukas Eder

Reputation: 220762

I found this page here explaining how scaling works with XSL-FO.

Essentially, this is the snippet that I used to make it work:

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

I found that width="100%" was the missing piece in your own attempts. Hope this helps future visitors.

Upvotes: 18

WonderWorker
WonderWorker

Reputation: 9062

Defining the exact height and width of the "viewport": .

If you don't specify the viewport then FOP won't know what to scale your image to.

It can guess, but not know precisely.

Upvotes: 3

Related Questions