htmlbuilder php phantomjs

*

参考文章:php-phantomjs

get-started

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)

*

结果

htmlbuilder php phantomjs

*

 产生的文件目录verdor和bin

htmlbuilder php phantomjs

*

htmlbuilder php phantomjs

 *

 <?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

htmlbuilder php phantomjs

遇到的问题

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');

*