文档介绍
https://jonnnnyw.github.io/ph...
有一个比较坑爹的地方就是点击里面的介绍会自动变成http开头的网址可能会打不开,只需要填个s变成https即可打开。
首先要安装composer
安装composer中文镜像http://www.phpcomposer.com/,然后重启
创建composer.json
{
"scripts": {
"post-install-cmd": [
"PhantomInstaller\\Installer::installPhantomJS"
],
"post-update-cmd": [
"PhantomInstaller\\Installer::installPhantomJS"
]
},
"config": {
"bin-dir": "bin"
},
"require": {
"jonnyw/php-phantomjs": "4.*"
}
}
然后安装
进入项目文件夹运行下面的的命令即可 composer require "jonnyw/php-phantomjs:4.*"
标题文字
注:还会有一个bin文件夹,里面是phantomjs.exe。我的没有是因为提前安装了。
运行测试代码
<?php
require "vendor\autoload.php";
use JonnyW\PhantomJs\Client;
// require_once 'vendor_phantomjs/jonnyw/php-phantomjs/src/JonnyW/PhantomJs/Client.php';
$client = Client::getInstance();
$client->getEngine()->setPath('E:/xampp/php/phantomjs.exe');
//上面一行要填写自己的phantomjs路径
/**
* @see JonnyW\PhantomJs\Http\PdfRequest
**/
$delay = 7;
$request = $client->getMessageFactory()->createPdfRequest('https://www.baidu.com/', 'GET', 5000); //参数里面的数字5000是网页加载的超时时间,放在网络问题一直加载,可以不填写,默认5s。
$request->setOutputFile('E:/document.pdf');
$request->setFormat('A4');
$request->setOrientation('landscape');
$request->setMargin('1cm');
$request->setDelay($delay);//设置delay是因为有一些特效会在页面加载完成后加载,没有等待就会漏掉
/**
* @see JonnyW\PhantomJs\Http\Response
**/
$response = $client->getMessageFactory()->createResponse();
// Send the request
$client->send($request, $response);