2010-10-29 33 views
0

A partir d'une série de fichiers xml et d'une feuille de style, je génère un fichier HTML en utilisant docbook-xsl-ns-1.73, libxslt-1.1.22.win32 et fop-0.94. la feuille de style indique que les morceaux de code doivent avoir des lignes numérotées et un arrière-plan gris. est ici la pièce de la tâche et qui convertit xmls en html:Générer une sortie XML et CSS avec docbook - travailler pour HTML, échouer pour PDF

<exec executable="${XSLTPROC_EXECUTABLE}"> 
    <arg value="--output" /> 
    <arg value="${target.html.dir}/${book}_toc.xml" /> 

    <arg value="--xinclude" /> 

    <arg value="--param" /> 
    <arg value="html.stylesheet" /> 
    <arg value="'css/visixd-docbook.css'" /> 

    <arg value="--param" />   
    <arg value="chunk.separate.lots" /> 
    <arg value="1" /> 

    <arg value="--param" />   
    <arg value="chunk.first.sections" /> 
    <arg value="1" /> 

    <arg value="--param" /> 
    <arg value="chunk.section.depth" /> 
    <arg value="8" /> 

    <arg value="--param" />   
    <arg value="toc.section.depth" /> 
    <arg value="3" /> 

    <arg value="--param" />   
    <arg value="navig.graphics" /> 
    <arg value="1" /> 

    <arg value="--param" />   
    <arg value="ignore.image.scaling" /> 
    <arg value="1" /> 

    <arg value="src/reusable/xsl/makeCustomToc.xsl" /> 
    <arg value="src/workspace/${book}/${language}/${book}.xml" /> 
    </exec> 

maintenant cette tâche fonctionne parfaitement bien, produire la sortie désirée.

la tâche similaire utilisé pour convertir xmls en pdf a ces paramètres:

<exec executable="${XSLTPROC_EXECUTABLE}"> 
    <arg value="--output" /> 
    <arg value="${target.fo.dir}/${book}.fo" /> 

    <arg value="--param" /> 
    <arg value="paper.type" /> 
    <arg value="'USletter'" />   

    <arg value="--param" /> 
    <arg value="img.src.path" /> 
    <arg value="'src/workspace/${book}/${language}/'" /> 

    <arg value="--param" /> 
    <arg value="fop.extensions" /> 
    <arg value="0" /> 

    <arg value="--param" /> 
    <arg value="fop1.extensions" /> 
    <arg value="1" /> 

    <arg value="--param" /> 
    <arg value="pdf.stylesheet" /> 
    <arg value="'css/visixd-docbook.css'" /> 

    <arg value="--xinclude" /> 

    <arg value="--param" />   
    <arg value="chunk.separate.lots" /> 
    <arg value="1" /> 

    <arg value="--param" />   
    <arg value="chunk.first.sections" /> 
    <arg value="1" /> 

    <arg value="--param" /> 
    <arg value="chunk.section.depth" /> 
    <arg value="8" /> 

    <arg value="--param" />   
    <arg value="toc.section.depth" /> 
    <arg value="3" /> 

    <arg value="${DOCBOOK_XSL_HOME}/fo/docbook.xsl" /> 
    <arg value="src/workspace/${book}/${language}/${book}.xml" /> 
    </exec> 

le problème est ma tâche de fourmi pour la conversion de pdf ne formatez lignes de code comme indiqué dans le feuille de style. qu'est-ce qui ne va pas? Considérant que la conversion en html utilise la même feuille de style et fonctionne. où devrais-je chercher une solution? merci d'avance.

Répondre

1

Vous essayez de mettre en forme une sortie FO/PDF en utilisant CSS. Cela ne fonctionne pas.

Les feuilles de style DocBook XSL courantes ne possèdent pas de paramètre appelé pdf.stylesheet. Et les paramètres chunk.* sont pour la sortie HTML uniquement. Qu'entendez-vous par «morceaux de code» et «lignes de code»? Voulez-vous dire <programlisting> éléments dans la source XML?

Vous devriez consulter la référence définitive pour l'utilisation de DocBook XSL: http://www.sagehill.net/docbookxsl/index.html.