Domanda

Ho un gran numero di documenti XML che vengono creati in DocBook e, attraverso Maven, sono pubblicati sia in un formato HTML e un modulo PDF. Le generazioni funziona bene, e il codice html guarda bene. Il problema che sto avendo è la dimensione delle immagini nella versione in pdf. Le immagini sono una raccolta di screenshot, alcuni sono a schermo intero, un po 'di circa 2 / 3rds larghezza e l'altezza, e altri sono piccole caselle di ricerca. E 'ovvio che ho bisogno di fare una massiccia refactoring degli attributi del imagedata. Mi chiedevo cosa avrei dovuto refactoring a? Sto cercando un modo per creare fino a 4 'tipi' di immagini e per questi di far valere la propria dimensionamento. Un esempio di un aspetto di immagine in questo modo:

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

E funziona solo per alcune delle mie dimensioni screenshot.

ho giocato in giro con scalefit, la larghezza e contentWidth / contentHeight e sembrano risolvere diverse porzioni del problema. Dovrei essere alla ricerca in finestre come bene?

. NOTA: Non c'è paura di rompere la generazione di HTML dato che posso accendere 'escludere proprietà' nel XSL

È stato utile?

Soluzione

Devi provare @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>  
  

Ecco alcune linee guida per l'utilizzo del   attributi di scala.

     
      
  • Per scalare una grafica ad una data larghezza,   impostare il contentWidth nel imagedata   elemento a tale dimensione, ad esempio   contentWidth = "8,5 centimetri". Se si specifica un   numero senza unità, si assume che   essere pixel.

  •   
  • Per scalare un grafico per adattare la   disponibile larghezza sulla stampa, uso   width = "100%" e scalefit = "1"   attributi. Per il testo rientrato, come in un   lista, la larghezza disponibile è dal   corrente rientro al margine destro.

  •   
  • Per mantenere un grafico per l'output stampato   nella sua dimensione naturale, a meno che non sia troppo   grande per adattarsi alla larghezza disponibile, in   qual caso termoretraibile che si adatti, uso   scalefit = "1", width = "100%", e   contentdepth = "100%" attributi.

  •   
     

...

     
      
  • Alcuni processori XSL-FO non supportano   tutti questi attributi. Potresti aver bisogno   sperimentare per vedere che cosa funziona. Per   esempio, la versione FOP 0.20.5 ossequi   larghezza come se fosse contentWidth e   ignora una vera contentWidth   attributo.
  •   

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

Altri suggerimenti

Questo non è strettamente quello che stai chiedendo, ma avete normalizzato le impostazioni DPI nei file di immagine? Anche se ignorato in HTML rendering, sono cruciali in docbook-> il rendering PDF.

Quando ho avuto a che fare con questo in passato, che fissa il DPI mi ha lasciato senza la necessità di ulteriori Tweak sorgente DocBook.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top