IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

Fichier pdf endommagé lors de la generation à partir d'un fichier xsl-fo


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 75
    Points : 55
    Points
    55
    Par défaut Fichier pdf endommagé lors de la generation à partir d'un fichier xsl-fo
    Bonjour,
    Lors de la generation du fichier PDF à partir d'un .fo, utilisant fop v0.94. je compile le programme correctement sans warn ni Errors, Tandis qu'il genere un fichier pdf endommagé.
    Si quelqun a une idée sur la cause de ce Pb, Merci de me donner la piste,
    La classe java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    //Java
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStream;
     
    import javax.xml.transform.Result;
    import javax.xml.transform.Source;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerConfigurationException;
    import javax.xml.transform.TransformerException;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.sax.SAXResult;
    import javax.xml.transform.stream.StreamSource;
     
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.apache.fop.apps.FOPException;
    import org.apache.fop.apps.FOUserAgent;
    import org.apache.fop.apps.Fop;
    import org.apache.fop.apps.FopFactory;
    import org.apache.fop.apps.MimeConstants;
     
    /**
     * Convertir un document XML vers PDF
     */
    public class ExampleXML2PDF {
     
    	private static Log LOG = LogFactory.getLog(ExampleXML2PDF.class);
     
    	public void fopTransformer(File input) {
    		Source src = new StreamSource(input);
    		FopFactory fopFactory = FopFactory.newInstance();
    		FOUserAgent foUserAgent = fopFactory.newFOUserAgent();
    		OutputStream out = null;
    		File outputFile = new File("filePDF2.pdf");
    		try {
    			out = new BufferedOutputStream(new FileOutputStream(outputFile));
    		} catch (FileNotFoundException e) {
    			LOG.error(e);
    		}
    		Fop fop = null;
    		try {
    			fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out);
    		} catch (FOPException e) {
    			LOG.error(e);
    		}
    		TransformerFactory trFactory = TransformerFactory.newInstance();
    		Transformer transformer = null;
    		try {
    			transformer = trFactory.newTransformer();
    		} catch (TransformerConfigurationException e) {
    			LOG.error(e);
    		}
     
    		Result res = null;
    		try {
    			res = new SAXResult(fop.getDefaultHandler());
    		} catch (FOPException e) {
    			LOG.error(e);
    		}
    		try {
    			transformer.transform(src, res);
     
    		} catch (TransformerException e) {
    			LOG.error(e);
    		}
     
     
    	}
     
    	public static void main(String[] args) {
    		try {
    			System.out.println("FOP ExampleXML2PDF ");
    			System.out.println("Preparing...");
     
    			File input = new File("xml/xslt/exemple2.fo");
    			ExampleXML2PDF app = new ExampleXML2PDF();
    			app.fopTransformer(input);
     
    			System.out.println("Success!");
     
    		} catch (Exception e) {
    			LOG.error(e);
    			System.exit(-1);
    		}
    	}
    }
    et voici mon fichier .fo:

    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <fo:layout-master-set>
    <fo:simple-page-master master-name="main"
    margin-top="36pt" margin-bottom="36pt"
    page-width="8.5in" page-height="11in"
    margin-left="72pt" margin-right="72pt">
    <fo:region-body margin-bottom="50pt" margin-top="50pt"/>
    </fo:simple-page-master>
    </fo:layout-master-set>
    <!-- Definition of a page sequence -->
    <fo:page-sequence master-reference="main">
    <fo:flow flow-name="xsl-region-body">
    <fo:block font-size="14pt" line-height="17pt">
    Bonjour,
    exemple pour voir la generation du pdf a partir d'un fichier xml.
    Salutations
    </fo:block>
    </fo:flow>
    </fo:page-sequence>
    </fo:root>
    Si vous voulez des infos suplementaires, merci de me les indiquer

    D'avance

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 75
    Points : 55
    Points
    55
    Par défaut
    Bonjour,
    J'aimerais savoir si ça peut venir des fichiers jars, A noter que j'ai bien ajouté ces bibliotheques dans le classpath:

    fop-0.94.jar xml-apis-1.0.b2.jar xmlgraphics-commons-1.2.jar avalon-framework-4.1.5.jar xalan-2.6.0.jar xercesImpl-2.4.0.jar batik-svg-dom-1.5.jar
    Cdt,

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 75
    Points : 55
    Points
    55
    Par défaut
    Excusez moi les gars pour vous derranger, mais y'en a qui merite une baffe .
    au passage sur le code je constate que j'ai pas fermé le out.close(); dans la methode du cout il genere un fichier ineditable.



    Mes excuses, Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 11/04/2014, 12h20
  2. Réponses: 1
    Dernier message: 02/01/2014, 13h03
  3. Copier du texte à partir d'un fichier PDF
    Par blood_of_dragon dans le forum Android
    Réponses: 0
    Dernier message: 11/01/2013, 18h52
  4. Insérer filigrane à partir d'un fichier PDF
    Par zekabyle dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 11/10/2010, 23h18
  5. lecture à partir d'un fichier PDF
    Par men1986 dans le forum Wildfly/JBoss
    Réponses: 0
    Dernier message: 24/07/2009, 01h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo