【问题标题】:Scale down to fit an image in FOP缩小以适应 FOP 中的图像
【发布时间】:2011-09-07 09:33:39
【问题描述】:

我正在使用 FOP 1.0 版来创建 PDF。在其中一个页面中,我想显示一个图像(2552 x 4200 像素),如果它不完全适合页面,则将其缩小。据我在mailing list 上看到的,推荐的方法如下:

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

不幸的是,这仍然不能显示整个图像。图像的下部被切断。谁能给我提示一下我可能做错了什么?

【问题讨论】:

  • 图片的格式是什么?
  • 在这种情况下,它是一个 TIFF 图像。
  • 我使用 fo:external-graphic 在一个小的 FO 文件中包含了一个 TIFF 图像,就像你做的那样,输出很好。我无法重现该问题。您能否提供更多信息(可能是相关图片的链接)?
  • 很遗憾,图片属于机密,所以我无法为您提供图片。
  • 我可以通过定义“视口”的确切高度和宽度来完成这项工作:&lt;fo:external-graphic height="29.7cm" width="21cm" content-height="scale-down-to-fit" content-width="scale-down-to-fit" src="..."/&gt;。谁能向我解释为什么我显然必须在我的情况下定义它?

标签: image pdf size xsl-fo apache-fop


【解决方案1】:

定义“视口”的确切高度和宽度: .

如果您不指定视口,那么 FOP 将不知道要将图像缩放到什么。

它可以猜测,但不能准确地知道。

【讨论】:

  • 不幸的是,我无法再访问该项目了。我很想试试这个。
【解决方案2】:

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

基本上,这是我用来让它工作的 sn-p:

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

我发现width="100%" 是您自己尝试中缺少的部分。希望这对未来的访客有所帮助。

【讨论】:

  • width="100%" content-width="scale-to-fit" 似乎够用了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-16
  • 2018-08-18
  • 2012-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多