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

Modules Perl Discussion :

Générer des pdf avec Perl


Sujet :

Modules Perl

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 11
    Points
    11
    Par défaut Générer des pdf avec Perl
    Bonsoir,

    J'ai écrit un petit programme Perl qui va récupérer des données dans une base SQLite.
    J'arrive à afficher ces données dans ma fenêtre de commande, mais je voudrais créer un fichier pdf pour pouvoir imprimer ces informations.

    Cela fait deux jours que je tourne sur le CPAN, que je test un à un les nombreux modules qui font cela, mais rien n'y fait je bloque...

    A priori les modules sont moins à remettre en cause que moi ...

    Il est probable que vous utilisiez déjà cette possibilité de Perl. Si vous pouviez me guider...


    Merci pour vos indications!

  2. #2
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    En fait c'est très curieux...

    Voici un morceau de code que j'ai récupéré sur le site du CPAN (http: //cpan.uwinnipeg.ca/htdocs/PDF-Table/PDF/Table.html#EXAMPLE)

    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
     
    #!/usr/bin/perl
    use warnings;
    use strict;
    use diagnostics;
    #Please use TABSTOP=4 for best view
     use PDF::API2;
     use PDF::Table;#use Table;
     
     my $pdftable = new PDF::Table;
     my $pdf = new PDF::API2(-file => "Mon_fichier.pdf");
     my $page = $pdf->page();
     $pdf->('A4');
     # A4 as defined by PDF::API2 is h=842 w=545 for portrait
     
     # some data to layout
     my $some_data =[
            ['col_A',
            'col_B',
            'Col_C'],
            [3,
            'Donec odio neque, faucibus vel',
            'consequat quis, tincidunt vel, felis.'],
            ['Nulla euismod sem eget neque.',
            'Donec odio neque',
            'Sed eu velit.'],
            ['Az sym bulgarin',
            "i ne razbiram DESI\ngorniq \nezik",
            "zatova reshih
    		da dobavq
    		edin ili dva
    		novi reda"],
            ['da dobavq edin dva reda',
            'v tozi primer',
            'na bulgarski ezik s latinica'],
            ['1 Lorem ipsum dolor',
            'Donec odio neque, faucibus vel',
            'consequat quis, tincidunt vel, felis.'],
            ['Nulla euismod sem eget neque.',
            'Donec odio neque',
            'Sed eu velit.'],
            ['Az sym bulgarin',
            'i ne razbiram gorniq ezik',
            'zatova reshih'],
            ['da dobavq edin dva reda',
            'v tozi primer',
            'na bulgarski ezik s latinica'],
     ];
     
     # build the table layout
     $pdftable->table(
             # required params
             $pdf,
             $page,
             $some_data,
             x => 50,
             -w => 495,
             start_y => 792,
             next_y  => 700,
             -start_h => 400,
             next_h  => 500,
             # some optional params
             -padding => 3,
             padding_right => 10,
             background_color_odd  => 'lightblue',
             background_color_even => "#EEEEAA", #cell background color for even rows
             header_props          => { 
                 bg_color   => "#F0AAAA",
                 font       => $pdf->corefont("Helvetica", -encoding => "utf8"),
                 font_size  => 14,
                 font_color => "#006600",
                 repeat     => 1,
             },
             column_props => [
                {},
                {
                    min_w => 250,
                    justify => "right",
                    font => $pdf->corefont("Times", -encoding => "latin1"),
                    font_size => 14,
                    font_color=> 'white',
                    background_color => '#8CA6C5',
                },
             ],
             cell_props => [
               [#This is the first(header) row of the table and here wins header_props
                 {
                   background_color => '#000000',
                   font_color       => 'blue',
                 },
                 # etc.
               ],
               [#Row 2 
                 {#Row 2 cell 1
                   background_color => '#000000',
                   font_color       => 'white',
                 },
                 {#Row 2 cell 2
                   background_color => '#AAAA00',
                   font_color       => 'red',
                 },
                 {#Row 2 cell 3
                   background_color => '#FFFFFF',
                   font_color       => 'green',
                 },
                 # etc.
               ],
               [#Row 3
                 {#Row 3 cell 1
                   background_color => '#AAAAAA',
                   font_color       => 'blue',
                 },
                 # etc.
               ],
               # etc.
             ],
      );
    $pdf->saveas();
    Lorsque j'exécute ce code en tant que simple script perl (en .pl donc) il me génère un fichier pdf conforme au code. Tout va bien donc.

    Mais quand je créé un module (.pm) et que j'appelle mon_module::pdf(); le programme appelle le module et créé un fichier pdf de même taille que celui généré par le .pl, mais quand je l'ouvre il n'y a qu'une page blanche et acrobat reader affiche le message suivant: "Détection d'une marque non reconnue: 98,572"

    Alors que les deux codes exécutés sont rigoureusement identiques!

    Est-ce que: 98 et 572 représentent les coordonnées de l'endroit où se trouve l'erreur?
    Si oui, quelle est cette erreur?
    Comment y remédier?

Discussions similaires

  1. Générer des PDF avec plusieurs calques
    Par Amidal dans le forum iReport
    Réponses: 1
    Dernier message: 21/03/2013, 10h22
  2. Générer des PDF avec Java
    Par zomurn dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 09/08/2011, 17h41
  3. Générer des PDF avec FPDF
    Par debutantasp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/04/2008, 14h18
  4. Générer des mail avec pièce jointe au format PDF
    Par Michel DELAVAL dans le forum Access
    Réponses: 2
    Dernier message: 26/06/2006, 15h07
  5. faire des graphiques avec Perl
    Par And_the_problem_is dans le forum Modules
    Réponses: 2
    Dernier message: 16/07/2003, 16h08

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