Comment mettre en œuvre des polices personnalisées dans TCPDF

dans TCPDF, il n'y a que quelques polices à choisir, pour créer des fichiers pdf. Je veux mettre Tahoma comme police pdf. Comment puis-je inclure Tahoma dans TCPDF??

38
demandé sur Alex.K. 2011-03-10 20:43:43

13 réponses

la dernière version de TCPDF convertit automatiquement les polices au format TCPDF en utilisant la méthode addTTFfont (). Par exemple:

// convert TTF font to TCPDF format and store it on the fonts folder
$fontname = TCPDF_FONTS::addTTFfont('/path-to-font/FreeSerifItalic.ttf', 'TrueTypeUnicode', '', 96);

// use the font
$pdf->SetFont($fontname, '', 14, '', false);

pour de plus amples informations et des exemples, veuillez cocher la case page de documentation des polices TCPDF.

addTTFfont()!

61
répondu Nicola Asuni 2016-08-09 08:16:19

j'ai découvert un très bon outil en ligne. La seule chose que vous devez faire est de télécharger votre .TTF puis télécharger les fichiers et les copier dans le dossier / fonts.

http://www.xml-convert.com/en/convert-tff-font-to-afm-pfa-fpdf-tcpdf

23
répondu Yannis 2012-10-17 18:03:49

la méthode addTTFfont n'est pas disponible sur la classe principale TCPDF donc suivre a fonctionné pour moi.

// convert TTF font to TCPDF format and store it on the fonts folder
$fontname = TCPDF_FONTS::addTTFfont('pathto/arial.ttf', 'TrueTypeUnicode', '', 96);

// use the font
$pdf->SetFont($fontname, '', 14, '', false);

espérons que cela aide!

8
répondu psuhas 2015-01-14 18:57:46

Je ne sais rien sur tcpdf ou php, mais j'ai trouvé ceci:

http://www.tcpdf.org/examples/example_033.phps

apparemment, vous n'utilisez que le nom de la police, pas le nom du fichier.


Grève!

Ok, Que diriez-vous de cette page. Pour préparer une police à utiliser par TCPDF, vous devez exécuter le fichier à travers un utilitaire de ligne de commande et un script PHP.

$ ttf2ufm -a -F myfont.ttf

et alors:

$ php -q makefont.php myfont.ttf myfont.ufm

ou

MakeFont(string $fontfile, string $fmfile [, boolean $embedded [, $enc="cp1252" [, $patch=array()]]])

ttf2ufm est distribué avec TCPDF dans le répertoire TCPDF/fonts.

3
répondu Mark Storer 2011-03-11 17:08:08

les lignes ci-dessous va générer 3 fichiers dans le dossier polices 1.rotisserifi56.php 2.rotisserifi56.ctg 3.rotisserifi56.rar

    use this to generate the required php and other files
$fontname = $this->pdf->addTTFfont('D:/wamp/www/projectname/sites/all/modules/civicrm/packages/tcpdf/fonts/Rotis Serif Italic 56.ttf', 'TrueTypeUnicode', '', 32);

    // use the font
    $this->pdf->SetFont($fontname, '', 14, '', false);

Maintenant,

utilisez les polices comme ceci:

 $this->pdf->AddFont('rotisserifi56', '', 'rotisserifi56.php');
$this->pdf->SetFont('rotisserifi56');

--espérons que cela aide certains :)

3
répondu Developer 2013-10-23 15:44:26

j'ai trouvé la méthode addTTFfont un peu délicate (ok, n'a probablement pas essayé très dur) et l'outil en ligne mentionné ci-dessus fonctionne pour FPDF mais manque le ctg.z fichier requis par TCPDF.

Ce http://fonts.snm-portal.com/ - génère les 3 fichiers (.php,.z et .ctg.z) pour TCPDF. Convertissez le TTF, téléchargez les trois fichiers dans votre dossier fonts et vous pouvez y aller.

2
répondu Craig 2015-05-28 23:58:21

première création .php,.AFM.,z http://www.xml-convert.com/en/convert-tff-font-to-afm-pfa-fpdf-tcpdf et déplacer tous les trois dans le même répertoire contenant .ttf fichier. puis Utiliser Ceci :

$pdf->AddFont(path-to/universe.ttf','',path-to/universe.php');
$pdf->SetFont(path-to/universe.ttf','',10);
2
répondu Bharat Parmar 2015-06-19 10:01:34

la dernière version de TCPDF prend en charge les polices personnalisées.

la Documentation sur L'utilisation de polices personnalisées avec TCPDF peut être lue ici.

2
répondu blasteralfred Ψ 2017-09-09 19:59:40

la meilleure façon que j'ai été essayé et a travaillé à 100% mettez votre TTF police dans le dossier fonts et ensuite utiliser cette constante K_PATH_FONTS + FONT NAME

   $font1 = $this->pdf->addTTFfont(K_PATH_FONTS . 'arial.ttf', 'TrueTypeUnicode', '', 8);
   $this->pdf->SetFont($font1, '', 15, '', false);
1
répondu user1080247 2013-01-13 12:32:14

il n'y a aucun intérêt à utiliser addTTFfont() si vous n'avez pas le .ttf fichier.

Et toute la question est: si il y a PAS de ttf fichier, comment quelqu'un peut utiliser la fonction addTTFfont ()?

par exemple, il n'y a pas de fichier cid0cs dans font/ directory (TCPDF 6.0.20), seulement cid0cs.php, qui est ce n'est PAS un fichier de police.

0
répondu Ellery Leung 2013-06-18 08:59:14

je n'ai pas pu trouver addTTFFont() dans la dernière version de tcpdf. Cependant, j'ai pu inclure un fichier TTF personnalisé par moi-même. Dans le dossier tcpdf se trouve un dossier nommé tools qui incluent un fichier PHP appelé tcpdf_addfont.php.

j'ai un lien symbolique à mon répertoire home (vous pouvez omettre cette étape) et l'exécuter comme ceci: shell ./addfont.php -b -t TrueTypeUnicode -f 32 -i myfont.ttf

c'est ça, il va dump quelque chose de semblable à ce: ``

conversion des polices de caractères pour TCPDF: *** Dir de sortie défini à /Users/pascalraszyk/XXX/XXX/pdf/vendor / tecnick.com / tcpdf / fonts/ + + + OK: / Users/pascalraszyk/XXX/XXX/pdf / myfont.TTF ajouté en tant que myfont Processus complété avec succès! ``

Remarque: il y a plus d'exemples dans le tools dossier pour différents types de polices. J'ai utilisé composer pour vérifier tcpdf.

aussi longtemps que vous mettez vos fichiers de définition de police dans le tcpdf/fonts dossier vous devriez être bon d'aller!

j'ai utilisé HTML2PDF qui utilise tcpdf sous le capot et ça a fonctionné comme un charme.

0
répondu Pascal Raszyk 2015-06-25 13:02:21

j'ai eu ce problème malgré tous les bons fichiers. J'ai dû changer les noms de fichiers en minuscules

0
répondu Arindam 2016-11-10 19:06:44

Lorsqu'il n'était pas possible de convertir police GothamRounded façon standard, je cherchais un autre outil et seulement celui-ci http://fonts.snm-portal.com/ a fonctionné pour moi.

0
répondu revoke 2017-01-08 10:31:40