如何在kartik mpdf中使用自定义字体?

时间:2016-07-05 09:38:03

标签: mpdf yii2

我正在使用kartik mpdf扩展程序并尝试使用“cssFile”属性设置pdf样式。

但是我想要设置的任何字体(甚至来自Web安全字体或我的oun font-face)都不会影响pdf文件的内容。 有什么帮助吗?

2 个答案:

答案 0 :(得分:1)

谢谢你应该在kartik中配置cssFile和cssInline, 例如,在PDF控制器中你有

public function actionPdf()
{
    $pdf = new Pdf([
        'mode' => Pdf::MODE_CORE, 
        'format' => Pdf::FORMAT_A4, 
        'orientation' => Pdf::ORIENT_PORTRAIT, 
        'destination' => Pdf::DEST_BROWSER, 
        'content' => $contents,
        'filename' => 'Filename',
        'cssFile' => '@vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.css',
        'cssInline' => '.modal-footer{text-align:left;}div.modal-body{padding:0px;}',
        'options' => ['title' => 'Devis'],
        'methods' => [ 
            'SetFooter'=>[$footer],
        ]
    ]);
    Yii::$app->response->format = \yii\web\Response::FORMAT_RAW;
    $headers = Yii::$app->response->headers;
    $headers->add('Content-Type', 'application/pdf');
    return $pdf->render(); 
}

你应该转到vendor文件夹中的这个文件,在css @vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.css中做你想做的事 并且所需的样式(对于例如颜色:#fff!important)你应该在这个ligne 'cssInline' => '.modal-footer{text-align:left;}div.modal-body{padding:0px;}',

中做到这一点

答案 1 :(得分:1)

他问如何在pdf文件中更改font-family。 基本字体的名称位于config_font.php中。 您可以在此文件中添加自定义字体。

  

实施例

$this->fontdata = array( ... "pompadur" => array( 'R' => "Pompadur.ttf", ), ... )

粘贴到您的html:style="font-family: Pompadur"