thinkphp 将页面导出成pdf
用到knp-snappy 扩展库 和 wkhtmltopdf 下载如下
https://wkhtmltopdf.org/downloads.html
Windows下载安装后可以用一下命令试试效果
wkhtmltopdf http://qq.com qq.pdf
导出jpg cmd命令为
wkhtmltoimage http://www.qq.com qq.jpg
composer 安装扩展
composer require knplabs/knp-snappy
//wkhtmltopdf 这里需要替换成你自己的安装位置
localhost:bin test$ wkhtmltopdf http://www.qq.com //users/yehua/desktop/test.pdf
<?php
namespace app\admin\controller;
class Pdf
{
// 导出代码
public function index()
{
$pdf = new \Knp\Snappy\Pdf('/usr/local/bin/wkhtmltopdf');
$path = '/' . date('Ymd') . '/' . time() . '.pdf';
$pdf->generate('http://www.qq.com', $_SERVER['DOCUMENT_ROOT'] . $path);
return ['code' => 1, 'msg' => '', 'data' => 'http://www.test.cn' . $path];
}
}
导出效果
遇到过得坑:
中文乱码或者空白解决方法
如果wkhtmltopdf中文显示空白或者乱码方框
打开windows c:\Windows\fonts\simsun.ttc拷贝到linux服务器/usr/share/fonts/目录下,再次生成pdf中文显示正常
或者网上下载一个simsun.ttc字体