mPDF设置,对css的支持比tcpdf多
刚开始应用tcpdf做测试生成pdf,发现tcpdf对css支持不是太好,有些样式实现不了,发现mpdf 对css支持好比较,好多样式支持
mpdf下载地址
1.官网:https://github.com/mpdf/mpdf
2.安装:$ composer require mpdf/mpdf
3.加载 :require_once DIR . ‘/vendor/autoload.php’;
4.说明文档:https://mpdf.github.io/
require_once $path . '/vendor/autoload.php';
$mpdf = new \Mpdf\Mpdf([
'mode' => 'utf-8',
'format' => 'A4',
'orientation' => 'L'
]);
$mpdf->SetDisplayMode('fullpage');
$mpdf->autoScriptToLang = true;
$mpdf->autoLangToFont = true;
//设置背景图
$html = '<style>
body {
background: url("/views/images/background.jpg") center no-repeat;
background-size: cover;
background-image-resize: 6;
background-image-resolution: 300dpi;
}
</style>
<body style="margin: 0;padding: 0; background-color: #0e84b5;">
<div style="border:0px solid crimson;text-align: left;font-size: 30px;font-weight: bold;padding-left: 233px;">XXXXXXXXX</div>
</body>
';
$mpdf->WriteHTML($html);
$mpdf->Output('mypdf.pdf','I');
字体的引入
将你的字体保存在 mpdf lib中的ttfonts文件夾中。然后,在Config/FontVariables.php文件中,在 array 中添加字体:
“freesans” => [
‘R’ => “FreeSans.ttf”,
‘B’ => “FreeSansBold.ttf”,
‘I’ => “FreeSansOblique.ttf”,
‘BI’ => “FreeSansBoldOblique.ttf”,
‘useOTL’ => 0xFF,
],
然后使用以下方法将字体设置为mpdf对象:
$mpdf-> SetFont (‘freesans’) ;
现在你的fornt 。使用 $mpdf-> WriteText (‘我的文本’) ;将文本添加到带 有设置字体的pdf中。
2.在 Html 使用字体
在css文件中使用 @font-face {} 添加你的font-family
然后,导入该css文件,如 below:
$stylesheet = file_get_contents (‘mystylewithfont 。css’) ;
$mpdf-> WriteHTML ( $stylesheet,1 ) ;
现在,你可以将你的字体与html一起使用。为css文件中的文本或者带有html的inline 定 font-family 。使用 $mpdf-> WriteHTML ( 我的文字) ; 列印 html 。