1

文档介绍

https://jonnnnyw.github.io/ph...
有一个比较坑爹的地方就是点击里面的介绍会自动变成http开头的网址可能会打不开,只需要填个s变成https即可打开。

首先要安装composer

安装composer中文镜像http://www.phpcomposer.com/,然后重启

创建composer.json

{
        "scripts": {
            "post-install-cmd": [
                "PhantomInstaller\\Installer::installPhantomJS"
            ],
            "post-update-cmd": [
                "PhantomInstaller\\Installer::installPhantomJS"
            ]
        },
        "config": {
            "bin-dir": "bin"
        },
        "require": {
                "jonnyw/php-phantomjs": "4.*"
        }
}

然后安装

进入项目文件夹运行下面的的命令即可 composer require "jonnyw/php-phantomjs:4.*"

标题文字

完成后会出现下面的文件夹

注:还会有一个bin文件夹,里面是phantomjs.exe。我的没有是因为提前安装了。

运行测试代码

<?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('E:/xampp/php/phantomjs.exe');
    //上面一行要填写自己的phantomjs路径
    /** 
     * @see JonnyW\PhantomJs\Http\PdfRequest
     **/
    $delay = 7;
    $request = $client->getMessageFactory()->createPdfRequest('https://www.baidu.com/', 'GET', 5000); //参数里面的数字5000是网页加载的超时时间,放在网络问题一直加载,可以不填写,默认5s。
    $request->setOutputFile('E:/document.pdf');
    $request->setFormat('A4');
    $request->setOrientation('landscape');
    $request->setMargin('1cm');
    $request->setDelay($delay);//设置delay是因为有一些特效会在页面加载完成后加载,没有等待就会漏掉

    /** 
     * @see JonnyW\PhantomJs\Http\Response 
     **/
    $response = $client->getMessageFactory()->createResponse();

    // Send the request
    $client->send($request, $response);

谢谢观看


lingkong
28 声望3 粉丝