去发现生活中的美好,记录生活中的点点滴滴

mpdf的使用(PHP-laravel)

php admin 34℃

git地址:https://github.com/niklasravnsborg/laravel-pdf

在项目中,如果要写入并下载、展示PDF格式的文件,这个时候,就需要用到PDF的插件了,PHP的PDF插件很多,有dompdf、Wkhtmltopdf等,今天主要介绍mpdf的安装和使用。

引入该插件,有两种:
一、在laravel根目录,执行

composer require niklasravnsborg/laravel-pdf

二、或者在根目录的composer.json文件中的require中加入:

"niklasravnsborg/laravel-pdf":"*"

执行

composer update

接下来,在config/app.php文件下加入:

'providers' => [
	// ...
	niklasravnsborg\LaravelPdf\PdfServiceProvider::class
]

'aliases' => [
	// ...
	'PDF' => niklasravnsborg\LaravelPdf\Facades\Pdf::class
]

到此,就可以直接引用了:

直接在页面渲染:
$pdf = PDF::loadHTML('HTML内容');
return $pdf->stream();

下载PDF: 
$pdf = PDF::loadHTML('HTML内容');
return $pdf->download('document.pdf');

通过模板文件渲染:
 $pdf = PDF::loadHTML('HTML内容');
return $pdf->loadView('pdf',$data);

值得注意的是,中午会出现乱码,这个时候,就要配置一下文件了:
首先,生成一个PDF的配置文件

php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider

然后,看mpdf的版本,如果是mpdf6.1以后可以用

return [
	'mode'                  => 'zh-cn',
	'format'                => 'A4',
	'author'                => '',
	'subject'               => '',
	'keywords'              => '',
	'creator'               => 'Laravel Pdf',
	'display_mode'          => 'fullpage',
	'tempDir'               => base_path('../temp/')
];

mpdf6.0可以用:

return [
	'mode'                  => '+aCJK',
	'format'                => 'A4',
	'author'                => '',
	'subject'               => '',
	'keywords'              => '',
	'creator'               => 'Laravel Pdf',
	'display_mode'          => 'fullpage',
	'tempDir'               => base_path('../temp/')
];

至此,完成。

转载请注明:永盟博客 » mpdf的使用(PHP-laravel)

喜欢 (1)