Scale down to fit an image in FOP

16,902

Solution 1

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.

Solution 2

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.

Share:
16,902
Benjamin Muschko
Author by

Benjamin Muschko

Fork me on Github

Updated on June 05, 2022

Comments

  • Benjamin Muschko
    Benjamin Muschko almost 2 years

    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?