Comment générer un pdf depuis ma page web avec FPDF

Par The-Devil, il y a 13 ans


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

coloo, il y a 13 ans

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 =)

The-Devil, il y a 13 ans

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

Cordialement,

The-DEVIL

The-Devil, il y a 13 ans

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 =)

The-Devil, il y a 13 ans

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'));