Jump to content

Migrer de FPDF vers TCPDF


Jean LB

Recommended Posts

Je me suis mis à l'écriture d'un override en utilisant l'éxpérience de bimbee : http://www.prestasho...m_fpdf_to_tcpdf

 

Vous trouverez donc un override simple à installer :

1. Télécharger tcpdf et le mettre dans le répertoire tools/tcpdf

2. Copier le fichier joint dans override/classes/PDF.php

3. Voilà !

 

j'y ai ajouté un petit changement pour intégrer un logo SVG à la facture (placez votre logo directement dans le repertoire img/ sous le nom logo_invoice.svg, car il n'est pas possible de le faire via le backoffice)

 

Pour la gestion des langues et des jeux de polices, il faudrait changer quelques paramètres dans AdminPDF, je ne sais pas si on peut surcharger simplement ces classes comme celles du front office ? J'ai donc copié le code à modifier dans admin/tab/AdminPDF.pfp :

define('_PS_TCPDF_PATH_',		    _PS_TOOL_DIR_.'tcpdf/');
include_once(PS_ADMIN_DIR.'/tabs/AdminPreferences.php');
include_once(_PS_TCPDF_PATH_.'encodings_maps.php');
class AdminPDF extends AdminPreferences
{
public function __construct()
{
 global $cookie;
 $lang = strtoupper(Language::getIsoById($cookie->id_lang));
 $this->className = 'Configuration';
 $this->table = 'configuration';
 /* Collect all font files and build array for combo box */
 $fontFiles = scandir(_PS_TCPDF_PATH_.'fonts');
 $fontList = array();
 $arr = array();

 foreach ($fontFiles AS $file)
  if (substr($file, -4) == '.php' AND $file != 'index.php' AND substr($file, -6) != 'bi.php' AND substr($file, -5) != 'b.php' AND substr($file, -5) != 'i.php')
  {
   $arr['mode'] = substr($file, 0, -4);
   $arr['name'] = substr($file, 0, -4);
   array_push($fontList, $arr);
  }
 /* Collect all encoding map files and build array for combo box */
 $encodingFiles = new TCPDF_ENCODING_MAPS();//scandir(_PS_TCPDF_PATH_.'font/makefont');
 $encodingList = array();
 $arr = array();
 foreach ($encodingFiles->encmap AS $key => $file)
 {
  $arr['mode'] = $key;
  $arr['name'] = $key;
  array_push($encodingList, $arr);
 }

 

Vos retours sont les bienvenus.

 

PDF.php

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...

translated by Google: from En to Fr:

 

pour les override/classes/PDF.php

Vous n'avez pas besoin d'inclure des fonctions immuable

tels que

 

function _isPngFile($file)

function _getCompleteUSAddressFormat($conf)

function _builMerchantFooterDetail

function multipleInvoices($invoices)

function multipleOrderSlips($orderSlips)

function multipleDelivery($slips)

function ProdTabHeader($delivery = false)

Link to comment
Share on other sites

  • 1 year later...
  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...