Webmaster Freelance Rhône-AlpesWebmaster Freelance Rhône-Alpes

par cyrille

Ça y est votre boutique en ligne Magento est en ligne, tout fonctionne parfaitement , cependant un souci persiste. Vos factures éditées en PDF sont « moches ».

Votre site est nickel et pro, par contre les factures pdf laissent à désirer, des colonnes se chevauchent, les fichiers sont hyper lourds pour de simples PDF… Voici quelques astuces pour rendre celles-ci lisibles en Français, avec un logo etc…

1) Copier les fichier pour les éditer

La première chose a faire pour toute modification de Magento est de copier les fichier dans le répertoire local. Cela évite bien des soucis lorsque votre modification présente un bug ou que vous avez un conflit avec un plugin par exemple. Cela vous permettra aussi de pouvoir mettre à jour votre boutique en gardant les modifications effectuées.

Rendez vous sur le FTP et copiez tous les fichiers situés dans le répertoire :

app/code/core/Mage/Sales/Model/Order/Pdf/

dans ce répertoire :

app/code/local/Mage/Sales/Model/Order/Pdf/

2) Ajouter votre logo sur les factures

Magento a pensé à tout, vous pouvez faire cela depuis le backoffice. Rendez vous dans la rubrique :
Système > configuration > Ventes > VENTES > Design de facture et de bordereau de livraison
Ici vous pouvez uploader votre logo et saisir les information sur votre société qui apparaîtront sur les documents PDF.

3) Colonne TVA et autres taxes qui déborde

Bien sûr cette manip ne s’applique pas aux site en Anglais mais sur les factures en Français, ce champ déborde et rend votre facture illisible. Il suffit simplement de changer la largeur de la colonne pour palier à ce problème.
Pour cela, éditez le fichier :

/app/code/local/Mage/Sales/Model/Order/Pdf/Invoice.php

Vous trouverez à la ligne 77 environ :

$lines[0][] = array( 'text'  => Mage::helper('sales')->__('Tax'), 'feed'  => 495, 'align' => 'right' ); 

Qu’il faudra remplacer par :

$lines[0][] = array( 'text'  => Mage::helper('sales')->__('Tax'), 'feed'  => 520, 'align' => 'right' ); 

4) Optimiser la taille des fichiers PDF

Vous avez remarqué que vos factures PDF pèsent bien souvent près de 1.5Mo, ce qui pour un fichier texte est assez vraiment trop lourd. En fait Magento utilise une police spéciale pour les factures qui est encapsulée dans le fichier. En utilisant une police simple, on peut réduire cette taille à 30Ko.

Pour cela, éditez le fichier :

app/code/local/Mage/Sales/Model/Order/Pdf/Items/Abstract.php

et remplace vers la ligne 796 :

$font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/LinLibertineFont/LinLibertine_Re-4.4.1.ttf');

par  :

$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);

puis vers la ligne 810 :

$font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/LinLibertineFont/LinLibertine_Bd-2.8.1.ttf');

par :

$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA_BOLD);

et pour finir vers la ligne 824 :

$font = Zend_Pdf_Font::fontWithPath(Mage::getBaseDir() . '/lib/LinLibertineFont/LinLibertine_It-2.8.2.ttf');

par :

$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA_BOLD_ITALIC);

 

Il est possible de modifier complètement vos factures, d’y ajouter des informations, de bouger des éléments etc… Pour cela n’hésitez pas à demander un devis gratuitement

cyrille
À propos cyrille
Modifier les factures PDF dans Magento