Bonjour,

Actuellement en train de dévellopper un petit site pour m'exercer, je cherche à créer un bouton qui une fois cliqué génère un pdf de la page courante et ce en utilisant la librairie FPDF.

Pour le moment, je n'arrive qu'à générer le pdf d'une variable($data), voici le code de ma méthode:

public function print_pdf()
     {
         App::import('Vendor', 'Fpdf', array('file' => 'fpdf/fpdf.php'));
        $this->layout = 'pdf'; //this will use the pdf.ctp layout
        $this->response->type('pdf');
        $this->set('fpdf', new FPDF('P','mm','A4'));
        $this->set('data', 'Ceci est un pdf');
        $this->render('print_pdf');
     }

Ici ma view(print_pdf):

<?php
    $fpdf->AddPage();
    $fpdf->SetFont('Arial','B',16);
    $fpdf->Cell(40,10,$data);
    $fpdf->Output();
?>

Et enfin le layout(pdf.ctp):

<?php

    echo $content_for_layout;
?>

Merci d'avanc,

Coridalement,

The-Devil

4 réponses


The-Devil
Auteur
Réponse acceptée

Bonjour,

Alors finalement j'ai réussi à générer mon pdf en m'inspirant des tutoriels disponibles sur le site de FPDF.
Puis pour l'affichage dans le navigateur, j'ai un bug particulier, sous IE cela fonctionne, mais sous Chrome =/ c'est pas le cas.

Bref je close quand même le sujet car j'ai atteint mon objectif initial qui était de générer un PDF avec FPDF sous Cake.

Ici les codes nécessaire:
dans la vue au début

$myPDF = new FPDF();

dans la vue à la fin

$myPDF->Output('Nom', 'I')

dans le controller

App::import('Vendor', 'Fpdf', array('file' => 'fpdf/fpdf.php'));

Personne n'à une idée, une piste ??

Cordialement,

The-DEVIL

J'ai essayer de créer un pdf plusieurs fois mais je n'y suis jamais arriver :'(. Si tu trouves la solution ça m'arrangera aussi =)

J'ai réussi, mais je n'arrive pas à faire en sorte que le pdf s'ouvre dans un nouvel onglet
Je mettrais le code une fois terminer =)