重慶潤雪科技有限公司(2008年至今),專注于網站建設、網站制作、網頁設計、小程序開發、公眾號開發、app開發的技術服務商。
每一步都修改到滿意后在付款,用價格、質量、服務說明一切。
日期:2021-08-05 10:26 瀏覽量:5420
在開發一個養老系統項目中,有老人評估系統,評估結果就要求導出為pdf文件,我們使用的 mpdf這個類庫
mpdf類庫下載地址:https://github.com/mpdf/mpdf
安裝:$ composer require mpdf/mpdf
簡單的使用:
$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML('<h1>Hello world!</h1>');
$mpdf->Output();
如果內容里面有中文,那就需要單獨配置字體,配置如下:
$defaultConfig = (new \Mpdf\Config\ConfigVariables())->getDefaults();
$fontDirs = $defaultConfig['fontDir'];
$defaultFontConfig = (new \Mpdf\Config\FontVariables())->getDefaults();
$fontData = $defaultFontConfig['fontdata'];
$mpdf = new \Mpdf\Mpdf([
'fontDir' => array_merge($fontDirs, [
'./static',
]),
'fontdata' => $fontData + [
'frutiger' => [
'R' => 'simfang.ttf',
'I' => 'simfang.ttf',
]
],
'default_font' => 'frutiger'
]);
$mpdf->WriteHTML('<h1 style="font-family:frutiger;">潤雪科技</h1>', \Mpdf\HTMLParserMode::DEFAULT_MODE);
$mpdf->Output();
在將內容導出為pdf的時候內容肯定不會那么簡單,如果是有很多的html同時還有很多樣式的話,可以單獨將引入css樣式表,代碼如下:
$mpdf = new \Mpdf\Mpdf();
//開始引入樣式
$stylesheet = file_get_contents('./static/system/css/bootstrap.min.css');
$mpdf->WriteHTML($stylesheet, \Mpdf\HTMLParserMode::HEADER_CSS);
$mpdf->WriteHTML('<h1 class="h1">潤雪科技</h1>', \Mpdf\HTMLParserMode::DEFAULT_MODE);
$mpdf->Output();