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