首页 文章

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

提问于
浏览
0

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

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

2 回答

  • 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(); 
    }
    

    你应该去供应商文件夹中的这个文件来做你想要的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

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

    示例

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

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

相关问题