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

Langage PHP Discussion :

problème de génération et de fusion des fichier pdf en php


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 180
    Points : 73
    Points
    73
    Par défaut problème de génération et de fusion des fichier pdf en php
    salut,

    j'ai développé un script php qui permet de générer un fichier pdf

    ce fichier pdf est rempli par les données récupérés du fichier .csv

    c'est à dire ce script php permet de récupérer des données du fichier csv et permet de générer un fichier pdf qui sera rempli par ces données récupérés

    normalement ce code va générer deux fichier pdf


    le code de ce script est :


    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
    <?php
    session_start();
     
    /** Error reporting */
    ini_set('display_errors',1);
     error_reporting(E_ALL);
     
    /** LIBS * */
    require_once("./lib/fpdf.php");
    require_once("./lib/fpdi.php");
    require_once ("./lib/class.phpmailer.php");
    include "./lib/PDFMerger.php";
     
    //Fichier CSV à parser
    //$fichier = '/var/lib/mysql/test/Liste des SMS2.csv';
    $fichier = '/home/test/Desktop/testt.csv';
    //On vérifie que le fichier existe bien :)
     
     
    $idtype='CIN';
    $email='';
    $genre='';
    $ip_access='127.0.0.1';
    $alias='';
     
     
     
     
     
    if (file_exists($fichier))
    {
    //On l'ouvre en mode "read only"
    $fp = fopen($fichier, 'r');
    //Tant que l'on n'a pas finit de lire le fichier
    $i=20;
    while (!feof($fp)){
    //On lit les 4096 caractères de la ligne
    $ligne = fgets($fp,4096);
    //echo $ligne;
    /* On met dans un tableau toutes les données, séparées par des points virgules */
    $liste = explode(';',$ligne);
    /* On crée une colonne contenant les données pour chacune d'entre elles en parsant le tableau */
     
     
        if($liste[0] != "" && $liste[1] != "" && $liste[2] != "" && $liste[3] != "" && $liste[4] != "" && $liste[5] != "" && $liste[6] != "" && $liste[7] != "" && $liste[8] != "")
        {
     
     
       $today=date("d/m/Y", strtotime($liste[4]));
    $date_explosee = explode("/", $today);
     
    $jour = $date_explosee[0];
    $mois = $date_explosee[1];
    $annee = $date_explosee[2];
     
     
    $mobile=urlencode(str_replace("\r\n", "", trim($liste[0])));
    $firstname=urlencode(str_replace("\r\n", "", trim($liste[1])));
    $lastname=urlencode(str_replace("\r\n", "", trim($liste[2])));
    $idcarde=urlencode(str_replace("\r\n", "", trim($liste[3])));
     
    /***** DATA *****/
    $pdf = & new FPDI();
    $filename1 =generatePdf(1,$i,$liste[0],$liste[1] ,$liste[2],$genre,$jour,$mois,$annee,$idtype,$liste[3],$liste[5],$liste[7],$liste[8],$liste[6] ) ;
    $pdf = & new FPDI();
    $filename2 = generatePdf(2,$i,$liste[0],$liste[1] ,$liste[2],$genre,$jour,$mois,$annee,$idtype,$liste[3],$liste[5],$liste[7],$liste[8],$liste[6] ) ;
     
     
     
        }
     
    $i=$i+1;
     
     
     
    }
     
     
     
    }
     
     
     
    /* * *** Functions **** */
     
     
    function generatePdf($modelNumber,$i,$tel,$nom ,$prenom,$genre,$date_naissance_jj,$date_naissance_mm,$date_naissance_yyyy,$idtype,$num_carte,$adres,$code_postal,$gouvernorat,$ville ) {
     
    $code2 = $i;
    ........
    ........
    .........
    .......
     
     
    // Start Download the pdf
    //$pdf->Output('inscription_'.$code2.'.pdf', 'D');
     
    // Generate the pdf to mail
    $filename = $dir.'/test_p'.$modelNumber.'_' . $code2. '.pdf';
    $pdf->Output($filename, 'F');
     
    return $filename;
     
    }
    ?>

    le problème est que ce script génère un seul fichier de genre

    test_p1_20.php


    et normalement on dois trouver un autre fichier de genre

    test_p2_20.php

    car on a utilisé ce code dans le script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $filename2 = generatePdf(2,$i,$liste[0],$liste[1] ,$liste[2],$genre,$jour,$mois,$annee,$idtype,$liste[3],$liste[5],$liste[7],$liste[8],$liste[6] ) ;

    à mon avis ce code n'a pas été exécuté par le script



    autre point

    j'ai un fichier nommée condition.php
    après la génération de deux fichier par exemple test_p1_20.php et test_p2_20.php

    je veux fusionner le contenu de ces deux fichiers et le contenu du fichier condition.php dans un même fichier


    j'ai essayé avec ce code




    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
    <?php
    session_start();
     
    /** Error reporting */
    ini_set('display_errors',1);
     error_reporting(E_ALL);
     
    /** LIBS * */
    require_once("./lib/fpdf.php");
    require_once("./lib/fpdi.php");
    require_once ("./lib/class.phpmailer.php");
    include "./lib/PDFMerger.php";
     
    //Fichier CSV à parser
    //$fichier = '/var/lib/mysql/test/Liste des SMS2.csv';
    $fichier = '/home/test/Desktop/testt.csv';
    //On vérifie que le fichier existe bien :)
     
     
    $idtype='CIN';
    $email='';
    $genre='';
    $ip_access='127.0.0.1';
    $alias='';
     
     
     
     
     
    if (file_exists($fichier))
    {
    //On l'ouvre en mode "read only"
    $fp = fopen($fichier, 'r');
    //Tant que l'on n'a pas finit de lire le fichier
    $i=20;
    while (!feof($fp)){
    //On lit les 4096 caractères de la ligne
    $ligne = fgets($fp,4096);
    //echo $ligne;
    /* On met dans un tableau toutes les données, séparées par des points virgules */
    $liste = explode(';',$ligne);
    /* On crée une colonne contenant les données pour chacune d'entre elles en parsant le tableau */
     
     
        if($liste[0] != "" && $liste[1] != "" && $liste[2] != "" && $liste[3] != "" && $liste[4] != "" && $liste[5] != "" && $liste[6] != "" && $liste[7] != "" && $liste[8] != "")
        {
     
     
       $today=date("d/m/Y", strtotime($liste[4]));
    $date_explosee = explode("/", $today);
     
    $jour = $date_explosee[0];
    $mois = $date_explosee[1];
    $annee = $date_explosee[2];
     
     
    $mobile=urlencode(str_replace("\r\n", "", trim($liste[0])));
    $firstname=urlencode(str_replace("\r\n", "", trim($liste[1])));
    $lastname=urlencode(str_replace("\r\n", "", trim($liste[2])));
    $idcarde=urlencode(str_replace("\r\n", "", trim($liste[3])));
     
    /***** DATA *****/
    $pdf = & new FPDI();
    $filename1 =generatePdf(1,$i,$liste[0],$liste[1] ,$liste[2],$genre,$jour,$mois,$annee,$idtype,$liste[3],$liste[5],$liste[7],$liste[8],$liste[6] ) ;
    $pdf = & new FPDI();
    $filename2 = generatePdf(2,$i,$liste[0],$liste[1] ,$liste[2],$genre,$jour,$mois,$annee,$idtype,$liste[3],$liste[5],$liste[7],$liste[8],$liste[6] ) ;
     
     
     
    //  ici le nouveau code
     $pdf = new PDFMerger;
            $filename = "./test_'.$i.'.pdf";
            $pdf->addPDF("./test_p1_'.$i.'.pdf", "all")
            ->addPDF("./test_p2_'.$i.'.pdf", "all")
            ->addPDF("./Condition.pdf", "all")
     
     	->merge("file",$filename);[/B]
     
     
     
     
     
     
        }
     
    $i=$i+1;
     
     
     
    }
     
     
     
    }
     
     
     
    /* * *** Functions **** */
     
     
    function generatePdf($modelNumber,$i,$tel,$nom ,$prenom,$genre,$date_naissance_jj,$date_naissance_mm,$date_naissance_yyyy,$idtype,$num_carte,$adres,$code_postal,$gouvernorat,$ville ) {
     
    $code2 = $i;
    ........
    ........
    .........
    .......
     
     
    // Start Download the pdf
    //$pdf->Output('inscription_'.$code2.'.pdf', 'D');
     
    // Generate the pdf to mail
    $filename = $dir.'/test_p'.$modelNumber.'_' . $code2. '.pdf';
    $pdf->Output($filename, 'F');
     
    return $filename;
     
    }
    ?>

    merci d'avance

  2. #2
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Points : 409
    Points
    409
    Billets dans le blog
    1
    Par défaut
    Mets des traces à différents endroits de ton code, tu verras vite ce qui ne va pas et tu pourras débugger plus simplement ?
    si ce post vous a été utile, si votre problème est résolu.
    Pensez-y !
    __________________________________
    Doc officielle PHP | FAQ PHP | Cours PHP

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/03/2009, 16h01
  2. Fusion des fichiers Txt en C#
    Par emayen01 dans le forum C#
    Réponses: 9
    Dernier message: 06/03/2009, 16h13
  3. Fusion des fichiers son
    Par Abstract_cl dans le forum Audio
    Réponses: 9
    Dernier message: 25/08/2007, 14h18
  4. Génération des fichiers PDF
    Par giannichedda dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 21/05/2007, 08h29
  5. Problème de test sur la taille des fichiers
    Par gregal dans le forum Langage
    Réponses: 7
    Dernier message: 12/12/2006, 20h57

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