HTML2PDF - Ajouter une font

Fermé
alexdu17200 Messages postés 1282 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 7 mars 2016 - 2 juil. 2014 à 12:19
alexdu17200 Messages postés 1282 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 7 mars 2016 - 3 juil. 2014 à 16:28
Salut à tous, j'utilise la librairie HTML2PDF pour générer un fichier .pdf à partir de contenu en html.

Ce que je souhaiterai, c'est passé une police d'écriture à ce contenu pour qu'elle soit prise en compte dans le pdf généré.

Je dispose de 2 polices d'écritures au format .otf (l'une la version Light, et l'autre la version Bold).
J'ai essayé en vain, de la déclarer en css (
@font-face
... et l'affecter à la balise <page>)

J'ai lu qu'il faudrait passer par les fonctions AddFont() et SetFont(), mais je dois m'être trompé dans mon code.

$html2pdf->AddFont('Mapolice', », 'font/Ma Police_Light.otf');
$html2pdf->SetFont('Mapolice','', 12,'','');
qui me renvoient comme erreur que le fonction SetFront n'est pas définie.

Si quelqu'un a une solution ou peut m'apporter son aide, je suis plus que preneur, merci.

1 réponse

alexdu17200 Messages postés 1282 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 7 mars 2016 834
3 juil. 2014 à 16:28
Résolu pour l'ajout de la police, mais maintenant j'ai un autre problème.
Ma police dans mon .pdf a fait que chaque caractère est collé aux autres (il n'y a aucun écart entre les caractères)

Pour ajouter la police à HTML2PDF:
- J'ai converti ma police du format .otf vers le format .ttf sur un site dont j'ai oublié le nom.
- J'ai ensuite converti de nouveau ma police (.ttf) en .php et .z pour pouvoir l'exploiter avec HTML2PDF (via ce site http://www.fpdf.org/makefont/
- Ensuite, j'ai téléchargé les 2 fichiers de ma police générés à l'étape au dessus
- J'ai placé ces 2 fichiers sur mon serveur dans le dossier
html2pdf/_tcpdf_5.0.002/fonts/
- Ensuite, çà s'est joué dans le fichier qui génère mon .pdf
require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');
$html2pdf = new HTML2PDF('P', 'A4', 'fr'); 
$html2pdf->addFont('MaPolice', '', dirname(__FILE__).'/html2pdf/_tcpdf_5.0.002/fonts/MaPolice.php');
$html2pdf->setDefaultFont('MaPolice');
$html2pdf->WriteHTML($content);

Et çà y est ma police d'écriture est définie comme celle par défaut pour ce fichier .pdf

Comme je disais tout en haut de cette réponse, ma police est mise en place MAIS je n'ai quasiment aucun écart entre les différents caractères

J'arrive quand même à paramétrer la largeur des caractères en modifiant le fichier de MaPolice.php, et j'arrive à çà

Mais, nous sommes d'accord pour dire que ce n'est pas lisible.

Je passe cette question en résolu pour en poser un autre pour savoir comme modifier MaPolice.php
5