Utiliser une police spécifique dans les documents

Bonjour,
Je souhaite personnaliser les devis/factures.
J’ai créé un nouveaux fichier : /htdocs/core/modules/propale/doc/pdf_xxxxx.modules.php
Je souhaite utiliser une police « non système » dans les .pdf générés mais je ne trouve pas comment les insérer dans les documents.
Je souhaite untiliser la police Montserrat-Regular.ttf, j’ai créée les fichiers Montserrat-Regular.php et Montserrat-Regular.z ici (http://www.fpdf.org/makefont/index.php) mais je vois pas ou je dois les mettre sur mon serveur pour les utiliser avec

$pdf->AddFont('Montserrat-Regular', '', 'Montserrat-Regular.php');
$pdf->SetFont('Montserrat-Regular','',$default_font_size + 10);

L’erreur est :
TCPDF ERROR: Could not include font definition file: montserrat-regular

Ou dois-je placer les fichiers pour pouvoir les utiliser?
Merci d’avance,
Daniel

Bonjour Daniel,
les fonts sont dans /htdocs/includes/fonts/

Merci pour la réponse Oandrade. J’ai placé les fichiers dans ce dossier et ai essayé ce code :

$fontPath = $_SERVER['DOCUMENT_ROOT'] . 'htdocs/includes/fonts/Montserrat-Regular.php';
$pdf->AddFont('Montserrat-Regular', '', $fontPath);
$pdf->SetFont('Montserrat-Regular','',$default_font_size + 10);

Mais l’erreur persiste: « TCPDF ERROR: Could not include font definition file: montserrat-regular »
Y-a-t-il des subtilités qui m’ont échapées?

Bon, après pas mal d’essais/erreurs et de de bricolages, j’ai réussi a faire fonctionner ma police. Je ne sais pas encore si elle est inclue dans le fichier .pdf généré mais ça fonctionne chez moi. Voici comment :

Tout d’abord, dans la configuration de dolibarr: configuration ->PDF la bibliothèque utilisée pour la génération des PDF est précisée. Pour moi c’est :
TCPDF (…/htdocs/includes/tecnickcom/tcpdf/) + TCPDI (…/htdocs/includes/tcpdi/)

Après exploration de ces dossier, il y a un dossier fonts : /htdocs/includes/tecnickcom/tcpdf/fonts avec des fichier nom_de_font.php et nom_de_font.z j’ai donc placé mes fichiers dedans MAIS en les renommant sans ‹ - › ni majuscules ce qui donne :
montserrat.php et montserrat.z

J’ai utilisé ce lien pour générer ces fichier a partir d’un .ttf: http://www.xml-convert.com/en/convert-tff-font-to-afm-pfa-fpdf-tcpdf il permet également de changer le nom de la font. Ensuite, miracle avec

$pdf->AddFont('montserrat', '', 'montserrat.php');
$pdf->SetFont('montserrat','',$default_font_size + 10);

la magie opère et la police est utilisée pour le reste du document. Je vais continuer mes tests pour voir si la police fonctionne sur les postes qui ne l’ont pas installée mais je célèbre déjà une victoire :sunglasses: .

1 « J'aime »

Bonjour,

La gestion des fonds est parfois un peu problématique.
L’idéal est de passer par l’outil de conversion fourni avec la bibliothèque TCPDF (la version complète pas celle de Dolibarr).
Comme cet outil n’est accessible nativement qu’en ligne de commande il faut le traduire pour y accéder via Dolibarr.

Pour éviter des migraines à certain mes modules font le job :

La documentation est téléchargeable ici.

Pour vous en convaincre voyez le site de démonstration.

Cordialement,
Sylvain Legrand.

Bonjour
Pour utiliser ta fonte, tu peux la déclarer dans Configuration/Divers avec le paramètre MAIN_PDF_FORCE_FONT et le nom de ta fonte (fait l’essai avec freesans pour tester)

Fred

Merci Sylvain pour les liens mais je vais essayer de rester autonome pour ce projet.
Merci Frédéric34 pour le tuyaux ça marche pour moi, je pense que c’est grace au fait que les fichiers de .php et .z de ma font sont placés dans le bon dossier.

Super, merci beaucoup pour ces infos.
Je cherchais depuis plusieurs jours à personnaliser mes différents documents. J’ai suivi la méthode de web-tiki pour créer mes fichiers de police (avec xml-convert .com, l’autre méthode ne fonctionnait pas) et ajouté MAIN_PDF_FORCE_FONT dans ma config pour éviter de modifier tous les documents.
Ça fonctionne parfaitement, merci à vous deux !

Bonjour @Dixiebelle
Une fois les fichiers créés, vous les mettez dans quel répertoire?
Comment voir quelles sont les polices disponibles actuellement dans mon installation?

Bonjour
Si vous reliser le sujet @web-tiki le précise.

Prenez le temps de chercher et de lire :wink:
@+