*
参考文章:php-phantomjs
composer.json
{
"scripts": {
"post-install-cmd": [
"PhantomInstaller\Installer::installPhantomJS"
],
"post-update-cmd": [
"PhantomInstaller\Installer::installPhantomJS"
]
},
"config": {
"bin-dir": "bin"
},
"require": {
"jonnyw/php-phantomjs": "4.*"
}
}
*
cmd
D:softwareWebServerapacheApache24htdocsuilder_front>composer require "jonnyw/php-phantomjs:4.*" ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev)
*
结果

*
产生的文件目录verdor和bin

*

*
<?php require "vendorautoload.php"; use JonnyWPhantomJsClient; // require_once 'vendor_phantomjs/jonnyw/php-phantomjs/src/JonnyW/PhantomJs/Client.php'; $client = Client::getInstance(); $client->getEngine()->setPath('D:/software/WebServer/apache/Apache24/htdocs/builder_front/dist/bin/phantomjs.exe'); /** * @see JonnyWPhantomJsHttpPdfRequest **/ $request = $client->getMessageFactory()->createPdfRequest('http://www.baidu.com', 'GET'); $request->setOutputFile('E:/document.pdf'); $request->setFormat('A4'); $request->setOrientation('landscape'); $request->setMargin('1cm'); /** * @see JonnyWPhantomJsHttpResponse **/ $response = $client->getMessageFactory()->createResponse(); // Send the request $client->send($request, $response);
*
成功产生pdf

遇到的问题
1,PHP Fatal error: Class 'JonnyWPhantomJsClient' not found in ...
在代码里require了autoload.php就可以了
2,phantomjs一直找不到,是因为下面这句忘记写exe了,应该是完整路径
$client->getEngine()->setPath('D:/software/WebServer/apache/Apache24/htdocs/builder_front/dist/bin/phantomjs.exe');
*