Question

J'ai un grand nombre de documents XML qui sont créés dans DocBook et, par Maven, sont publiés en un html et une forme de pdf. Les générations fonctionne très bien, et le code html semble bien. La question que je vais avoir est la taille des images dans la version pdf. Les images sont une collection de captures d'écran, certains sont en plein écran, un peu à environ 2 / 3rds largeur et la hauteur, et d'autres sont des petites boîtes de recherche. Il est évident que je dois faire une refactor massive des attributs de la imageData. Je me demandais ce que dois-je factoriser à? Je cherche un moyen de créer jusqu'à 4 types « » d'images et pour ceux-ci de faire respecter leur propre taille. Un exemple d'une apparence d'image comme ceci:

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

Et il ne fonctionne que pour certains de mes tailles de capture d'écran.

Je l'ai joué avec scalefit, la largeur et contentWidth / contentHeight et ils semblent résoudre différentes parties du problème. Dois-je être à la recherche dans viewports aussi bien?

NOTE:. Il n'y a pas peur de briser la génération html depuis que je peux activer « exclure des propriétés » dans le XSL

Était-ce utile?

La solution

Vous avez essayer @scalefit="0" avec @scalefit="1":

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

Voici quelques conseils pour l'utilisation de la   attributs de mise à l'échelle.

     
      
  • Pour l'échelle d'un graphique à une largeur donnée,   régler le contentWidth dans le imagedata   élément de cette taille, par exemple   contentWidth = "8.5cm". Si vous spécifiez un   nombre sans unités, il est supposé   être pixels.

  •   
  • Pour redimensionner une image pour adapter la   largeur disponible dans la sortie imprimée, l'utilisation   width = "100%" et scalefit = "1"   les attributs. Le texte indenté comme dans un   liste, la largeur disponible est de la   tiret actuel à la marge de droite.

  •   
  • Pour conserver une image pour la sortie imprimée   à sa taille naturelle, à moins qu'il ne soit trop   grand pour adapter à la largeur disponible, en   auquel cas rétractable pour l'adapter, à l'utilisation   scalefit = "1", width = "100%", et   contentdepth = "100%" attributs.

  •   
     

...

     
      
  • Certains processeurs XSL-FO ne prennent pas en charge   tous ces attributs. Tu pourrais avoir besoin de   d'expérimenter pour voir ce qui fonctionne. Pour   exemple, la version FOP 0.20.5 traite   largeur comme si elle était contentWidth et   Ignore tout contentWidth réel   attribut.
  •   

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

Autres conseils

Ce n'est pas strictement ce que vous demandez, mais avez-vous normalisé les paramètres DPI dans vos fichiers d'image? Bien ignoré en HTML rendu, ils sont essentiels dans docbook-> rendu PDF.

Quand j'ai eu affaire dans le passé, la fixation du DPI m'a laissé sans besoin de modifier davantage la source DocBook.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top