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

Documents Java Discussion :

[itext] Problème avec les styles


Sujet :

Documents Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2006
    Messages : 50
    Points : 26
    Points
    26
    Par défaut [itext] Problème avec les styles
    Bonjour à tous,

    J'aimerais convertir un fichier HTML en PDF avec Itext, je pense que mon problème se situe dans la "complexité" des styles que j'emploie. Lors de l'exécution de ma méthode save qui prend en paramètre un fichier html, aucun de mes styles n'est appliqué. Je me demandais donc quels étaient les styles autorisés sur Itext ou alors si j'avais fait une erreur lors de la manipulation d'Itext que je viens de découvrir.

    Merci d'avance pour vos conseils,
    Julien

    Voici ma classe RapportPdf
    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
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
     
    package creationrapport;
     
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.util.ArrayList;
     
    import com.lowagie.text.Document;
    import com.lowagie.text.Element;
    import com.lowagie.text.html.simpleparser.HTMLWorker;
    import com.lowagie.text.html.simpleparser.StyleSheet;
    import com.lowagie.text.pdf.PdfWriter;
     
    /**
     * Cette classe sauvegarde dans un fichier PDF des rapports HTML (résultat de
     * SELECT sur des BDD).
     * 
     * @version 1.0 (13/03/07 FR)
     * @author Julien GAVARD
     */
    public class RapportPdf extends Rapport {
     
        /**
         * Variable contenant le chemin vers le fichier CSS des rapports.
         */
        public String cheminCss;
     
        // CONSTRUCTEUR
     
        /**
         * Constructeur null.
         */
        public RapportPdf() {
            super();
            this.cheminCss = "";
        }
     
        /**
         * Constructeur avec paramètre avec un nom de fichier par défaut
         * (defaut.pdf).
         * 
         * @param chemin
         *            contient le chemin absolu de sauvegarde du rapport
         */
        public RapportPdf(final String chemin) {
            super(chemin, "defaut", "pdf");
        }
     
        /**
         * Constructeur avec paramètre.
         * 
         * @param chemin
         *            contient le chemin absolu de sauvegarde du rapport
         * @param fichier
         *            contient le nom de sauvegarde du fichier
         */
        public RapportPdf(final String chemin, final String fichier) {
            super(chemin, fichier, "pdf");
            this.cheminCss = "";
        }
     
        /**
         * Constructeur avec paramètre.
         * 
         * @param chemin
         *            chemin du rapport
         * @param fichier
         *            nom de fichier du rapport
         * @param cheminCss
         *            chemin du fichier CSS du rapport
         */
        public RapportPdf(final String chemin, final String fichier,
                final String chemCss) {
            super(chemin, fichier, "pdf");
            this.cheminCss = chemCss;
        }
     
        // ACCESSEUR
     
        /**
         * Méthode qui renvoie l'extension d'un fichier PDF donc une chaîne
         * contenant pdf.
         * 
         * @return Retourne une chaîne de caractère contenant l'extension d'un
         *         fichier pdf
         */
        public String getExtension() {
            return "pdf";
        }
     
        // METHODE
     
        public void save(RapportHtml rapport) {
            Document document = new Document();
     
            try {
                StyleSheet styles = new StyleSheet();
                styles.loadTagStyle("caption", "margin", "auto");
                styles.loadTagStyle("caption", "font-family", "Arial");
                styles.loadTagStyle("caption", "font-weight", "bold");
                styles.loadTagStyle("caption", "font-size", "1.2em");
                styles.loadTagStyle("caption", "color", "#00900");
                styles.loadTagStyle("caption", "margin-bottom", "20px");
                styles.loadTagStyle("table", "margin", "auto");
                //styles.loadTagStyle("table", "border", "4px outset green");
                styles.loadTagStyle("table", "border-collapse", "collapse");
                styles.loadTagStyle("th", "background-color", "#00600");
                styles.loadTagStyle("th", "color", "white");
                styles.loadTagStyle("th", "font-size", "1.1em");
                styles.loadTagStyle("th", "font-family", "Arial");
                //styles.loadTagStyle("td", "border", "1px solid black");
                styles.loadTagStyle("td", "text-align", "center");
                styles.loadTagStyle("td", "padding", "5px");
     
                PdfWriter.getInstance(document, new FileOutputStream(
                        this.cheminRapport + this.fileName + "."
                                + this.extension));
                document.open();
     
                ArrayList objects;
                objects = HTMLWorker.parseToList(new FileReader(rapport.cheminRapport + rapport.fileName + "."
                                + rapport.extension), styles);
     
                for (int k = 0; k < objects.size(); ++k) {
                                     document.add((Element) objects.get(k));
                }
            }
     
            catch (Exception e) {
                e.printStackTrace();
                System.err.println(e.getMessage());
            }
     
            document.close();
        }
    }
    Ma classe Rapport
    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
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
     
    package creationrapport;
     
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.util.ArrayList;
     
    import com.lowagie.text.Document;
    import com.lowagie.text.Element;
    import com.lowagie.text.html.simpleparser.HTMLWorker;
    import com.lowagie.text.html.simpleparser.StyleSheet;
    import com.lowagie.text.pdf.PdfWriter;
     
    /**
     * Cette classe sauvegarde dans un fichier PDF des rapports HTML (résultat de
     * SELECT sur des BDD).
     * 
     * @version 1.0 (13/03/07 FR)
     * @author Julien GAVARD
     */
    public class RapportPdf extends Rapport {
     
        /**
         * Variable contenant le chemin vers le fichier CSS des rapports.
         */
        public String cheminCss;
     
        // CONSTRUCTEUR
     
        /**
         * Constructeur null.
         */
        public RapportPdf() {
            super();
            this.cheminCss = "";
        }
     
        /**
         * Constructeur avec paramètre avec un nom de fichier par défaut
         * (defaut.pdf).
         * 
         * @param chemin
         *            contient le chemin absolu de sauvegarde du rapport
         */
        public RapportPdf(final String chemin) {
            super(chemin, "defaut", "pdf");
        }
     
        /**
         * Constructeur avec paramètre.
         * 
         * @param chemin
         *            contient le chemin absolu de sauvegarde du rapport
         * @param fichier
         *            contient le nom de sauvegarde du fichier
         */
        public RapportPdf(final String chemin, final String fichier) {
            super(chemin, fichier, "pdf");
            this.cheminCss = "";
        }
     
        /**
         * Constructeur avec paramètre.
         * 
         * @param chemin
         *            chemin du rapport
         * @param fichier
         *            nom de fichier du rapport
         * @param cheminCss
         *            chemin du fichier CSS du rapport
         */
        public RapportPdf(final String chemin, final String fichier,
                final String chemCss) {
            super(chemin, fichier, "pdf");
            this.cheminCss = chemCss;
        }
     
        // ACCESSEUR
     
        /**
         * Méthode qui renvoie l'extension d'un fichier PDF donc une chaîne
         * contenant pdf.
         * 
         * @return Retourne une chaîne de caractère contenant l'extension d'un
         *         fichier pdf
         */
        public String getExtension() {
            return "pdf";
        }
     
        // METHODE
     
        public void save(RapportHtml rapport) {
            Document document = new Document();
     
            try {
                StyleSheet styles = new StyleSheet();
                styles.loadTagStyle("caption", "margin", "auto");
                styles.loadTagStyle("caption", "font-family", "Arial");
                styles.loadTagStyle("caption", "font-weight", "bold");
                styles.loadTagStyle("caption", "font-size", "1.2em");
                styles.loadTagStyle("caption", "color", "#00900");
                styles.loadTagStyle("caption", "margin-bottom", "20px");
                styles.loadTagStyle("table", "margin", "auto");
                //styles.loadTagStyle("table", "border", "4px outset green");
                styles.loadTagStyle("table", "border-collapse", "collapse");
                styles.loadTagStyle("th", "background-color", "#00600");
                styles.loadTagStyle("th", "color", "white");
                styles.loadTagStyle("th", "font-size", "1.1em");
                styles.loadTagStyle("th", "font-family", "Arial");
                //styles.loadTagStyle("td", "border", "1px solid black");
                styles.loadTagStyle("td", "text-align", "center");
                styles.loadTagStyle("td", "padding", "5px");
     
                PdfWriter.getInstance(document, new FileOutputStream(
                        this.cheminRapport + this.fileName + "."
                                + this.extension));
                document.open();
     
                ArrayList objects;
                objects = HTMLWorker.parseToList(new FileReader(rapport.cheminRapport + rapport.fileName + "."
                                + rapport.extension), styles);
     
                for (int k = 0; k < objects.size(); ++k) {
                                     document.add((Element) objects.get(k));
                }
            }
     
            catch (Exception e) {
                e.printStackTrace();
                System.err.println(e.getMessage());
            }
     
            document.close();
        }
    }

  2. #2
    Membre VIP

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 74
    Points : 104
    Points
    104
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par jgavard
    J'aimerais convertir un fichier HTML en PDF avec Itext
    Je sais beaucoup sur iText, mais en ce qui concerne HTMLWorker, je n'en sais pas trop. Paulo Soares va sans doute pouvoir vous aider... (S'il n'est plus sur ce forum, essayez http://itext.ugent.be/info/contact.php )

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2006
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    Merci beaucoup, je lui envoi un mail pour lui demander un coup de main, làje sèche

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 59
    Points : 51
    Points
    51
    Par défaut
    Salut!
    J'essaye aussi d'appliquer un style, mais tout ne marche pas (pour pas dire pas grand chose).
    @ jgavard : Avez vous reçu des informations supplémentaire sur vos problèmes qui sont sûrement similaire au mien?

Discussions similaires

  1. Problèmes avec les styles
    Par Ikes72000 dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 17/10/2014, 20h55
  2. Problèmes avec les styles wpf c#
    Par cocobelle89 dans le forum C#
    Réponses: 8
    Dernier message: 30/04/2013, 16h23
  3. Réponses: 0
    Dernier message: 12/02/2009, 13h07
  4. Réponses: 0
    Dernier message: 29/10/2008, 12h32
  5. Problème avec les styles d'un tableau
    Par psychoBob dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 20/05/2006, 03h13

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