在回显时,我发送给dompdf的$ html字符串给我很好的字体。 我已经尝试过:
这是我称为dompdf的代码
$options = new Options();
$options->set('isHtml5ParserEnabled', true);
$dompdf = new Dompdf('A4', $options);
$dompdf->loadHtml($html, 'UTF-8');
$dompdf->setPaper('A4');
$dompdf->render();
$output = $dompdf->output();
这是在$ html里面的样子,我称之为@ font-face
<?php $link = yii\helpers\Url::base(true) . '/web/css/fonts/Roboto-Bold.ttf';
?>
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: normal;
src: url( <?php echo $link ?>) format('truetype');
}
答案 0 :(得分:0)
尝试以下
首先在views
中创建 view.php 文件,然后像这样添加font-face
<?php $link = \Yii::getAlias('@webroot') . '/css/fonts/Roboto-Bold.ttf'; ?>
<html>
<head>
<style type="text/css">
@font-face {
font-family:roboto;
src:url(" <?php echo $link ?> ") format('truetype');
font-weight:normal;
font-style:normal;
}
</style>
</head>
<body>
<p style="font-family:roboto">Sample Text Here</p>
</body>
</html>
注意:检查加载字体文件的路径是否正确。
在controller
中使用renderPartial()加载视图文件后,像这样调用Dompdf
public function actionPrintDemo() {
$html = $this->renderPartial('view');
$options = new Options();
$options->set('isHtml5ParserEnabled', true);
$dompdf = new Dompdf('A4', $options);
$dompdf->loadHtml($html, 'UTF-8');
$dompdf->setPaper('A4');
$dompdf->render();
$output = $dompdf->output();
}