Bonjour,

Je cherche à enregistrer un fichier pdf lorsque l'utilisateur affiche ce dernier.
J'utilise pour l'affichage, le plugin Cakepdf.
J'ai une fonction pdf() dans mon controller Estimation qui me permet de renvoyer les différentes valeurs au pdf.

Aprés quelques recherche, je penses qu 'il faut que j'utilise ce code afin d'enregistrer le pdf, lorsque que mon utilisateur click pour afficher son PDF :

if (isset($this->request->data['mon_estimation'])){
    $this->Mpdf->setOutput(files/monpdf.pdf);
}

Enfin, quelque chose dans l'idée...

Merci de votre aide.

5 réponses


Ok j'avoue tout n'était pas explicite dans ce premier post.

Le code ci-dessous fonctionne pour l'enregistrement du fichier PDF dans mon dossier online_estimation. Ce dernier est dans mon controller

if(!empty($this->request->data))
    {    
    $CakePdf = new CakePdf();
    $CakePdf->template('/Estimations/pdf/pdf', 'default');
    $pdf = $CakePdf->write(WWW_ROOT.'files/online_estimation'.DS.'stocks.pdf');
    }

Cela dit je me retrouve avec tout un tas "undefined variable" dans mon PDF qui n’apparaisse pas lors de l aperçu de l'estimation en ligne.

Bon je ne trouve pas de solution pour le moment.
Je ne vois pas du tout pourquoi les variables ne sont pas prises en comptes...
Si quelqu un passe par là, qu'il n'hésite pas.
Merci

nobody ???

Salut, c'est où que tu défini les variable de ton pdf car si tu lui donne aucun valeur je pense que c'est normal

Yop,
En fait, lorsque le PDF s'affiche à l'écran, toutes les variables, sont bien prises en compte. Mais lors de l'enregistrement de ce dernier dans un dossier, aucune des variables.
J'ai effectivement trouvé une réponse à mon souci en utilisant :

$CakePdf->viewVars(array(
                            'filename'=>$filename,
                            'estim_number'=>$estim_number,
                            'type' =>$type,
                            ....
                            ));

Ce qui à pour même fonction $this->set...

Mais cette façon de faire me parait bine fastidieuse, car je suis obligé de (RE)définir chaque variables de cette façon :

$type = $this->data['type'];

Bref, pour le moment tout ceci foonctionne, mais j'ai peur pour l'avenir =)