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');
*
*
备注:公众号清汤袭人能找到我,那是随笔的地方
备注:公众号清汤袭人能找到我,那是随笔的地方

浙公网安备 33010602011771号