php将网页用wkhtmltoimage内容生成为图片

php架构ThinkPHP6

1. 安装 knp-snappy架构

composer require knplabs/knp-snappy
use Knp\Snappy\Image;
use Illuminate\Support\Facades\Storage;

// 生成图片 '/user/local/bin/wkhtmltoimage为你的wkhtmltoimage的位置。
$snappy = new Image('/usr/local/bin/wkhtmltoimage');
$path = public_path('dzd/' . $the_date . '/');
$fileName = time() . '_' . $row['entry_id'] . '.jpg';
$fullPath = $path . $fileName;
$snappy->generateFromHtml(view('dzd', $viewData), $fullPath);

2. 如何安装wkhtmltoimage

操作系统: CentOS 7.8

根据操作选择要下载的版本:

wkhtmltopdf

下载RPM安装包

安装过以后通过: wkhtmltopdf --version 有版本号就说明安装好了。

然后查看下wkhtmltoimage的位置 :

#whereis wkhtmltoimage 

然后就可以用上面的php代码来生成了。请注意,使用这个方法要放两几个常被禁用的函数。会有一定的安全风险

wkhtmltoimage  如何设置字体?

这个也困扰了我好久,怎么设置都不生效。

其实换个思路去理解,wkhtmltoimage 他是在服务器上渲染页面,如果你的服务器上没有相应的字体或你页面里设置的字体和操作系统里不一致,就会导致字体设置无效。所以加载不出来。

1. 在系统上安装字体,linux上如何安装字体去网上搜索。

CentOS7安装中文字体_centos7 中文字体-CSDN博客

2. 设置 font-family="楷体"

        如果你是linux系统,看下 楷体在你的系统里叫什么?

/usr/share/fonts/chinese/simkai.ttf: KaiTi:style=Regular,Normaali

在我的CentOS 7.8 里,他的名字就是: KaiTi ,那么你就要设置为:

font-family="KaiTi" ,否则是不会生效的。

如果你是windows系统,这里应该设置为“楷体”,尝试下,在什么样的格式下才会生效。

===========================

最后付上下载地址,有时候官网无法打开下载:

0积分,大家放心下载。

https://download.csdn.net/download/hotlinhao/89115709

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值