web-dev-qa-db-fra.com

Comment implémenter des polices personnalisées dans TCPDF

Dans TCPDF, vous ne pouvez choisir que quelques polices pour créer des fichiers PDF. Je souhaite définir Tahoma comme police pdf. Comment puis-je inclure Tahoma dans TCPDF?

39
blasteralfred Ψ

La dernière version de TCPDF convertit automatiquement les polices au format TCPDF à l'aide de 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 plus d’informations et des exemples, consultez la page TCPDF Fonts .

REMARQUE: Une fois la police convertie, TCPDF n'a plus besoin du fichier TTF ni de l'appel ci-dessus à addTTFfont()!

62
Nicola Asuni

J'ai découvert un très bon outil en ligne… .. La seule chose à faire est de télécharger votre fichier .ttf, puis de télécharger les fichiers et de les copier ensuite dans le dossier/fonts.

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

23
Yannis

La méthode addTTFfont n'étant pas disponible sur la classe principale TCPDF, la suite 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);

J'espère que cela t'aides!

8
psuhas

les lignes ci-dessous généreront 3 fichiers dans le dossier "Polices"

    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);

À présent,

utilisez les polices comme ceci:

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

- espérons que cela aide quelqu'un :)

3
Developer

Commencez par créer .php, .afm, .z à partir de http://www.xml-convert.com/en/convert-tff-font-to-afm-pfa-fpdf-tcpdf et déplacez les trois dans le même répertoire contenant le fichier .ttf . then Use This: 

$pdf->AddFont(path-to/universe.ttf','',path-to/universe.php');
$pdf->SetFont(path-to/universe.ttf','',10);
2
Bharat Parmar

Le dernier TCPDF prend en charge les polices personnalisées.

La documentation sur l’utilisation de polices personnalisées avec TCPDF peut être lue ici .

2
blasteralfred Ψ

J'ai trouvé la méthode addTTFfont un peu pointilleuse (ok, je n'ai probablement pas essayé beaucoup) et l'outil en ligne mentionné ci-dessus fonctionne pour FPDF mais manque le fichier ctg.z requis par TCPDF.

Celui-ci - http://fonts.snm-portal.com/ - génère les 3 fichiers requis (.php, .z et .ctg.z) pour TCPDF. Convertissez le fichier TTF, chargez les trois fichiers dans votre dossier de polices et vous êtes prêt à partir.

2
Craig

la meilleure façon, j'ai été essayé et travaillé à 100% placez votre police TTF dans le dossier fonts puis utilisez 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
user1080247

Quand il était impossible de convertir la police GothamRounded de manière standard, je cherchais un autre outil et seul celui-ci http://fonts.snm-portal.com/ fonctionnait pour moi.

0
revoke

Il est inutile d'utiliser addTTFfont () si vous n'avez pas le fichier .ttf.

Et l’essentiel est que s’il ya NO fichier ttf, comment peut-on utiliser la fonction addTTFfont ()?

Par exemple, il n'y a pas de fichier cid0cs dans le répertoire font/directory (TCPDF 6.0.20), seulement cid0cs.php, qui est NOT un fichier de polices.

0
Ellery Leung

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

0
Arindam

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. Le dossier tcpdf contient un dossier nommé tools qui comprend un fichier PHP appelé tcpdf_addfont.php.

Je l'ai lié à mon répertoire personnel par un lien symbolique (vous pouvez omettre cette étape) et exécuté comme suit: Shell ./addfont.php -b -t TrueTypeUnicode -f 32 -i myfont.ttf

Ça y est, cela produira quelque chose de similaire à ceci:

Conversion de polices pour TCPDF: *** Répertoire de sortie défini sur /Users/pascalraszyk/XXX/XXX/pdf/vendor/tecnick.com/tcpdf/fonts/ +++ OK: /Users/pascalraszyk/XXX/XXX/pdf/myfont.ttf ajouté en tant que myfont Processus terminé avec succès! `` `

Remarque: Le dossier tools contient plus d'exemples pour divers types de polices . J'ai utilisé composer pour extraire tcpdf. 

Tant que vous avez mis vos fichiers de définition de police dans le dossier tcpdf/fonts, vous devriez être prêt à partir! 

J'ai utilisé HTML2PDF qui utilise tcpdf sous le capot et cela a fonctionné à merveille. 

0
Pascal Raszyk