技术饭
php通过spatie/browsershot将html文件转成pdf、图片
php通过 spatie/browsershot 将html文件转成pdf、图片,最近需要将html文件转成png或者是pdf合同,如果使用php手动处理的话那过程就需要经过,html -> pdf -> png,这样单独写的话就比较麻烦,如果有composer或者类库的话那就很好用了,搜了一下 spatie/browsershot 比较好用些,只是需要依赖npm、puppeteer。
依赖:npm、puppeteer,安装npm,安装依赖:npm i puppeteer --save
composer require spatie/browsershot:3.58.0 # 如果镜像里面只有1.9版本那需要加上其他版本
github:https://github.com/spatie/browsershot
composer:https://packagist.org/packages/spatie/browsershot
使用:
<?php
require __DIR__ . '/vendor/autoload.php';
use Spatie\Browsershot\Browsershot;
$browsershot = new Browsershot;
//生成pdf
$browsershot->setHtml(file_get_contents("./dealhtml/test.html"))->savePdf("./dealhtml/test.pdf");
//生成图片
$browsershot->fullPage()->emulateMedia('screen')->setScreenshotType("jpeg",100)->quality(100)->setHtml(file_get_contents("./dealhtml/test.html"))->save("./dealhtml/test.png");
参考:
http://www.lajidui.com/2022/08/261.html
https://www.utheme.cn/wordpress/24576.html
https://www.jb51.net/article/114033.htm
文明上网理性发言!