Meilleure pratique pour créer un pdf personnalisé?

9

Existe-t-il une meilleure pratique pour créer de nouveaux PDF personnalisés, par exemple une facture PDF?

J'ai besoin d'un PDF personnalisé séparé avec ma propre mise en page et mes propres tableaux.
Et voici mon problème: je n'avais jamais créé de PDF dans Magento auparavant, il y a donc de nombreuses questions par où et comment commencer.

La seule chose que j'ai est un nouveau module avec des modèles et une collection.

Ai-je besoin de fichiers phtml pour mon modèle ou appartient-il à un modèle avec Zend_Pdf?

Timo.Klement
la source

Réponses:

1

J'encourage tous ceux qui souhaitent personnaliser leurs impressions PDF à consulter le module Comwrap_Pdf . Le rendu des PDF prend une approche différente en ce sens qu'ils sont créés à l'aide de HTML et CSS normaux (dans un modèle phtml Magento), puis un PDF est créé à partir de ce HTML à l'aide de la bibliothèque MPDF .

Construire des PDF de cette façon est beaucoup plus simple que de se soucier des redistributions, de l'habillage du texte et du rendu basé sur les coordonnées comme Zend_PDF.

Eric Seastrand
la source
0

Nous avons implémenté FireGento_Pdf. Cela aide beaucoup à implémenter votre propre moteur pour créer le pdf comme vous le souhaitez. Jetez-y un œil:

https://github.com/firegento/firegento-pdf

Fabian Blechschmidt
la source
C'est joli mais il y a des dépendances comme je peux le voir. Ce serait bien de ne pas installer un tas de paquets. Et comment avez-vous créé vos propres modèles? Je suppose que Firegento utilise également un modèle rigide. Dois-je le personnaliser ou existe-t-il un moyen de dessiner ma propre structure et de dire Firegento / Magento pour utiliser cette structure de modèle?
Timo.Klement
Pas de modèles, vous pouvez uniquement utiliser votre propre moteur comme décrit ici: github.com/firegento/firegento-pdf/wiki/… Si vous voulez des modèles et des trucs vraiment sympas, vous devriez rechercher le moteur de rendu html / css en pdf, j'ai entendu beaucoup de choses sympas à ce sujet, mais malheureusement je n'ai aucune référence.
Fabian Blechschmidt