*
参考文章: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');
*