基于linnux+phantomjs实现生成图片格式的网页快照

安装扩展: (1)下面是我在linux上的安装过程,如果没有安装git请先yum install git 安装casperjs

代码如下:
PHP是执行 /casperjs/bin/casperjs

(2)安装phantomjs,下载地址:<a href="http://phantomjs.org/download.html"&gt;http://phantomjs.org/download.html
下载后操作很简单,直接把解压好的\bin\phantomjs移动到\usr\local\bin\phantomjs就可以了。\
测试phantomjs --version 有结果不报错,说明安装OK

(3)安装字体

  1. 首先获得一套“微软雅黑”字体库(Google一下一大把),包含两个文件msyh.ttf(普通)、msyhbd.ttf(加粗);

  2. 在/usr/share/fonts目录下建立一个子目录,例如win,命令如下:

    代码如下:

    3. 将msyh.ttf和msyhbd.ttf复制到该目录下,例如这两个文件放在/root/Desktop下,使用命令:

    代码如下:

    4. 建立字体索引信息,更新字体缓存:

    代码如下:
    提示 mkfontscale: command not found,需自行安装 # yum install mkfontscale ) # mkfontdir # fc-cache (如果提示 fc-cache: command not found,则需要安装# yum install fontconfig

    至此,字体已经安装完毕!

    rush:PHP;"> $url = trim($_GET['url']);
    $filePath = md5($url).'.png';
    if (is_file($filePath))
    {
    exit($filePath);
    }

    //如果不加这句就会报错“Fatal: [Errno 2] No such file or directory; did you install phantomjs?”,详情参考http://mengkang.net/87.html
    putenv("PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs");
    $command = "phantomjs phantomjs.js {$url} {$filePath}";
    @exec($command);

    exit($filePath);
    }
    ?>

<!DOCTYPE html>

快照<a href="https://www.jb51.cc/tag/shengcheng/" target="_blank" class="keywords">生成</a>
rush:PHP;">
var page = require('webpage').create(); 
var args = require('system').args; 

var url = args[1];
var filename = args[2];

page.open(url,function () {
page.render(filename);
phantom.exit();
});

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...