htmlbuilder php phantomjs
*
参考文章: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:\software\WebServer\apache\Apache24\htdocs\builder_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 "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('D:/software/WebServer/apache/Apache24/htdocs/builder_front/dist/bin/phantomjs.exe'); /** * @see JonnyW\PhantomJs\Http\PdfRequest **/ $request = $client->getMessageFactory()->createPdfRequest('http://www.baidu.com', 'GET'); $request->setOutputFile('E:/document.pdf'); $request->setFormat('A4'); $request->setOrientation('landscape'); $request->setMargin('1cm'); /** * @see JonnyW\PhantomJs\Http\Response **/ $response = $client->getMessageFactory()->createResponse(); // Send the request $client->send($request, $response);
*
成功产生pdf
遇到的问题
1,PHP Fatal error: Class 'JonnyW\PhantomJs\Client' not found in ...
在代码里require了autoload.php就可以了
2,phantomjs一直找不到,是因为下面这句忘记写exe了,应该是完整路径
$client->getEngine()->setPath('D:/software/WebServer/apache/Apache24/htdocs/builder_front/dist/bin/phantomjs.exe');
*
*
备注:公众号清汤袭人能找到我,那是随笔的地方
备注:公众号清汤袭人能找到我,那是随笔的地方