Archaeon Blog

Where am I

html转pdf、html转图片、图片转pdf方案---Html2pdf

HTML2PDF、HTML2IMG

采用wkhtmltopdf + Laravel-snappy方案

下载

官网:https://wkhtmltopdf.org/ deb安装:dpkg -i wkhtmltox_0.12.5-1.xenial_amd64.deb rpm安装:rpm -ivh wkhtmltox_0.12.5-1.xenial_amd64.rpm

安装snappy包

composer require barryvdh/laravel-snappy

将 ServiceProvider 添加到 config /app.php 中的 providers 数组 Barryvdh\Snappy\ServiceProvider::class,

添加 facade 到 config /app.php 中的 aliases 数组中 ‘HTML2PDF’ => Barryvdh\Snappy\Facades\SnappyPdf::class, ‘HTML2IMG’ => Barryvdh\Snappy\Facades\SnappyImage::class,

生成配置文件 php artisan vendor:publish –provider=“Barryvdh\Snappy\ServiceProvider”

使用

// html文件渲染页面
$pdf = \PDF::loadView('welcome', $data);
// html字符串渲染页面
$html = '<html><head><meta charset="utf-8"></head><h1>订单id</h1><h2>12346546</h2></html>';
$pdf = \PDF::loadHTML($html);
// 保存文件
$pdf->save('path.pdf');
// 下载文件
return $pdf->download('welcome.pdf');

补充

中文字体:
	将ttc字体文件上传至/usr/share/fonts

js不生效:
	wkhtmltopdf 不支持 ecs6,let需要改成var
PDF 分页问题:
	使用 css 的 page-break-after:always; 或 page-break-inside:aovid;