Pregunta

Tengo un gran número de documentos XML que se crean en DocBook y, a través de Maven, se publican tanto en un archivo HTML y una forma de pdf. Las generaciones funciona bien, y el html se ve bien. El problema que estoy teniendo es en el tamaño de las imágenes en la versión en pdf. Las imágenes son una colección de imágenes, algunos son de pantalla completa, algunos cerca de 2 / 3rds anchura y la altura, y otros son pequeños cuadros de búsqueda. Es obvio que tengo que hacer un refactor masiva de los atributos de la imagedata. Me preguntaba qué debería refactorearlo a? Estoy buscando una manera de crear hasta 4 'tipos' de imágenes y para éstos para hacer cumplir su propio tamaño. Un ejemplo de una imagen se ve así:

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

Y sólo funciona para algunos de mis tamaños de pantalla.

He jugado un poco con scalefit, el ancho y contentWidth / contentHeight y parece resolver diferentes partes del problema. Debo buscar en las ventanas gráficas así?

NOTA:. No hay temor a romper la generación de HTML ya que puedo encender '' excluir las propiedades en el XSL

¿Fue útil?

Solución

Hay que intentarlo @scalefit="0" con @scalefit="1":

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

A continuación se presenta una guía para el uso de la   atributos de escala.

     
      
  • Para escalar un gráfico para una anchura dada,   establecer el contentWidth en el imagedata   elemento a ese tamaño, por ejemplo   contentWidth = "8.5cm". Si se especifica una   número sin unidades, se asume que se   ser píxeles.

  •   
  • Para escalar un gráfico para adaptarse a la   anchura disponible en la salida impresa, el uso   width = "100%" y scalefit = "1"   atributos. Para el texto con sangría como en una   lista, la anchura disponible es de la   guión actual al margen derecho.

  •   
  • Para guardar un gráfico para la salida impresa   en su tamaño natural, a menos de que sea demasiado   grande para adaptarse a la anchura disponible, en   cuyo caso encogimiento que se ajuste, el uso   scalefit = "1", width = "100%", y   contentdepth = "100%" atributos.

  •   
     

...

     
      
  • Algunos procesadores XSL-FO no son compatibles   todos estos atributos. Tu puedes necesitar   experimentar para ver qué funciona. por   ejemplo, la versión FOP 0.20.5 golosinas   ancho como si fuera contentWidth y   hace caso omiso de cualquier contentWidth reales   atributo.
  •   

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

Otros consejos

Esto no es estrictamente lo que preguntas, pero ¿ha normalizado las configuraciones de DPI en los archivos de imagen? Aunque ignorada en representación HTML, que son cruciales para docbook-> PDF prestación.

Cuando me he ocupado de esto en el pasado, la fijación de la DPI me dejó sin necesidad de ajustar aún más la fuente DocBook.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top