重慶潤(rùn)雪科技有限公司(2008年至今),專注于網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、小程序開(kāi)發(fā)、公眾號(hào)開(kāi)發(fā)、app開(kāi)發(fā)的技術(shù)服務(wù)商。
每一步都修改到滿意后在付款,用價(jià)格、質(zhì)量、服務(wù)說(shuō)明一切。
日期:2021-08-05 10:26 瀏覽量:5620
在開(kāi)發(fā)一個(gè)養(yǎng)老系統(tǒng)項(xiàng)目中,有老人評(píng)估系統(tǒng),評(píng)估結(jié)果就要求導(dǎo)出為pdf文件,我們使用的 mpdf這個(gè)類庫(kù)
mpdf類庫(kù)下載地址:https://github.com/mpdf/mpdf
安裝:$ composer require mpdf/mpdf
簡(jiǎn)單的使用:
$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML('<h1>Hello world!</h1>');
$mpdf->Output();
如果內(nèi)容里面有中文,那就需要單獨(dú)配置字體,配置如下:
$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;">潤(rùn)雪科技</h1>', \Mpdf\HTMLParserMode::DEFAULT_MODE);
$mpdf->Output();
在將內(nèi)容導(dǎo)出為pdf的時(shí)候內(nèi)容肯定不會(huì)那么簡(jiǎn)單,如果是有很多的html同時(shí)還有很多樣式的話,可以單獨(dú)將引入css樣式表,代碼如下:
$mpdf = new \Mpdf\Mpdf();
//開(kāi)始引入樣式
$stylesheet = file_get_contents('./static/system/css/bootstrap.min.css');
$mpdf->WriteHTML($stylesheet, \Mpdf\HTMLParserMode::HEADER_CSS);
$mpdf->WriteHTML('<h1 class="h1">潤(rùn)雪科技</h1>', \Mpdf\HTMLParserMode::DEFAULT_MODE);
$mpdf->Output();