Bonjour à tous,

J'essaie de créer une page de génération de rapport en PDF.

Pour cela j'ai décidé d'utiliser la librairie de FPDF sur CakePhp 3.

J'ai d'abord créé un projet en local sur WampServer pour tester les fonctionalités et voir comment cela fonctionne, tout était OK et j'ai réussi à faire ce dont j'avais besoin.

Mais je rencontre des problèmes lors de l'utilisation sur CakePHP 3, déjà je suis pas doué pour le moment, et je ne suis pas sûr d'avoir réussi à l'inclure correctement.
Mon controller :

use MyClass\FPDF;

class ReportController extends SalesController {

    public function beforeFilter(Event $event){
        parent::beforeFilter($event);
    }

    public function customer_report(){
        require_once(ROOT .DS. "Vendor" .DS . "fpdf" . DS . "fpdf.php");

J'ai juste ajouté une namespace sur le fichier afin de pouvoir appeler ma classe dans le controller.

<?php
namespace MyClass;

class FPDF

Ensuite, lorsque je fais les modifications que j'ai testé en local, rien ne fonctionne. L'image en JPG ou PNG n'est pas supportée alors qu'elle l'était avant, les polices ne fonctionnent plus.
Je me demande si j'ai fait correctement les choses sur CakePHP j'ai vu les posts par rapport à CakePHP 2 mais je n'y ai jamais touché donc je suis perdu pour passer de leurs solutions à celle pour la version 3.

Merci d'avance si quelqu'un aurait un indice ou une solution.

3 réponses


fital
Réponse acceptée

Yop,

J'ai pas de solution concrète à te proposer mais pourquoi tu utilises pas ce plugin : https://github.com/FriendsOfCake/CakePdf (compatible Cake 3, c'est rare^^).

Arkantos
Réponse acceptée

Bonjour,

Il faut que tu installes ta classe comme un plugin, càd que tu dois spécifier son namespace dans ton composer.json et ne pas oublier le Plugin::load('...') dans ton bootstrap.php. Je te renvois à la documentation pour plus d'explication : http://book.cakephp.org/3.0/en/plugins.html.

Bonne soirée,
Arkantos

Ragnar
Auteur

Merci Arkantos Ca fonctionne