2017-07-17 5 views
0

Je sais comment le faire pour le faire fonctionner dans un environnement local, j'ai ajouté des polices .ttf à /vendor/mpdf/mpdf/ttfonts, puis ajoutéComment ajouter des polices personnalisées à Kartik yu-MPDF dans yii2

$this->fontdata = array(
"calibri" => array(
'R' => 'calibri.ttf', 
'B' => 'calibrib.ttf', 
) 
... 

à /vendor/mpdf/config-fonts.php

Alors maintenant, je peux utiliser la police Calibri dans mes fichiers PDF, mais que dois-je faire pour l'utiliser correctement non seulement localement et après composer update?

Répondre

0

Solution que je trouve:

1) mettre .ttf polices en /your/path/to/fonts/dir, ajouter custom_config.php avec ce contenu:

$this->fontdata["calibri"] = [ 
    'R' => 'calibri.ttf', 
    'B' => 'calibrib.ttf', 
]; 

2) en commun/configs chemin ensemble avec des polices personnalisées et fichier avec config personnalisée

'mpdfCustomFontsPath' => /your/path/to/custom_config.php, 
'mpdfCustomFonts' => /your/path/to/fonts/dir, 

3) Somethere dans votre code avant de créer par exemple Kartik/Pdf faire ceci:

$customFontsConfig = Yii::$app->params['mpdfCustomFontsPath']; 
$customFonts = Yii::$app->params['mpdfCustomFonts']; 
define("_MPDF_SYSTEM_TTFONTS_CONFIG", $customFontsConfig); 
define("_MPDF_SYSTEM_TTFONTS", $customFonts); 

Et cela fonctionnera, car MPDF vérifiera _MPDF_SYSTEM_TTFONTS_CONFIG et _MPDF_SYSTEM_TTFONTS lors de la manipulation du langage HTML au format PDF