繁体   English   中英

XSL-fo pdf的图像大小问题

[英]XSL-fo Image size issue with pdfs

我有大量的XML文档,它们是在docbook中创建的,并且通过maven,以html for和pdf形式发布。 几代人工作正常,html看起来很好。 我遇到的问题是pdf版本中图像的大小。 图像是截图的集合,一些是全屏的,一些是大约2 / 3rds的宽度和高度,其他是小搜索框。 很明显,我需要对imagedata的属性进行大规模的重构。 我想知道我该怎么重构它? 我正在寻找一种方法来创建最多4种类型的图像,并为这些图像强制执行自己的尺寸调整。 图像的示例如下所示:

  <section><title>Screenshot</title>
     <mediaobject>
       <imageobject>
        <imagedata fileref="./views/screenshots/editNote.png" scalefit="0" width="100%"/>
       </imageobject>
     </mediaobject>
  </section>

它只适用于我的一些屏幕截图尺寸。

我已经玩过scalefit,width和contentwidth / contentheight,它们似乎解决了问题的不同部分。 我也应该关注视口吗?

注意:因为我可以打开XSL中的“排除属性”,所以不用担心会破坏html生成。

这不是您要求的严格要求,但是您是否已将图像文件中的DPI设置标准化? 虽然在HTML渲染中被忽略,但它们在docbook-> PDF渲染中至关重要。

当我在过去处理这个问题时,修复DPI让我无需进一步调整DocBook源代码。

你有@scalefit="0"试试@scalefit="1"

<section><title>Screenshot</title>
     <mediaobject>
       <imageobject>
        <imagedata fileref="./views/screenshots/editNote.png" 
                   scalefit="1" width="100%" contentdept="100%"/>
       </imageobject>
     </mediaobject>
  </section>  

以下是使用缩放属性的一些指导。

  • 要将图形缩放到给定宽度,请将imagedata元素中的contentwidth设置为该大小,例如contentwidth =“8.5cm”。 如果指定不带单位的数字,则假定为像素。

  • 要缩放图形以适合打印输出中的可用宽度,请使用width =“100%”和scalefit =“1”属性。 对于列表中的缩进文本,可用宽度是从当前缩进到右边距。

  • 为了使打印输出的图形保持其自然尺寸,除非它太大而不适合可用宽度,在这种情况下缩小它以适应,使用scalefit =“1”,width =“100%”,contentdepth =“100% “属性。

...

  • 某些XSL-FO处理器不支持所有这些属性。 您可能需要尝试查看哪些有效。 例如,FOP版本0.20.5将宽度视为contentwidth,并忽略任何实际的contentwidth属性。

http://www.sagehill.net/docbookxsl/ImageSizing.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM