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

 

*

posted @ 2016-11-17 09:39  野鹤闲人  阅读(1494)  评论(0编辑  收藏  举报