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

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

它仅适用于我的某些屏幕截图尺寸。

我尝试过scalefit、width和contentwidth/contentheight,它们似乎解决了问题的不同部分。我也应该查看视口吗?

笔记:不用担心破坏 html 生成,因为我可以在 XSL 中打开“排除属性”。

有帮助吗?

解决方案

你有 @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

其他提示

这是不严格,你在问什么,但你有没有在标准化的图像文件的DPI设置?虽然在HTML渲染忽略,他们在docbook-> PDF渲染的关键。

当我已经处理了这个在过去,固定DPI给我留下了不需要进一步的调整DocBook的来源。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top