Heim >php教程 >php手册 >基于linnux+phantomjs实现生成图片格式的网页快照

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

WBOY
WBOYOriginal
2016-06-06 20:04:441193Durchsuche

在代码区看到一个生成站点快照的代码,看了半天才发现,作者仅仅贴出来业务代码,最核心的生成快照图片的代码反而没有给出来。 以前记得google搜索提供站点缩略

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

复制代码 代码如下:


    cd /
    git clone git://github.com/n1k0/casperjs.git
    cd casperjs
    ln -sf /casperjs/bin/casperjs /usr/local/bin/casperjs  //可以忽略 实际执行中php是执行 /casperjs/bin/casperjs


 
    (2)安装phantomjs,下载地址:
       下载后操作很简单,直接把解压好的\bin\phantomjs移动到\usr\local\bin\phantomjs就可以了。\
       测试phantomjs --version 有结果不报错,说明安装OK
 
    (3)安装字体
      1. 首先获得一套“微软雅黑”字体库(Google一下一大把),包含两个文件msyh.ttf(普通)、msyhbd.ttf(加粗);
      2. 在/usr/share/fonts目录下建立一个子目录,例如win,命令如下:

复制代码 代码如下:


# mkdir /usr/share/fonts/win

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

复制代码 代码如下:


 # cd /root/Desktop
 # cp msyh.ttf msyhbd.ttf  /usr/share/fonts/win/

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

复制代码 代码如下:


   # cd /usr/share/fonts/win
          # mkfontscale  (如果提示 mkfontscale: command not found,,需自行安装 # yum install mkfontscale )
          # mkfontdir
          # fc-cache    (如果提示 fc-cache: command not found,则需要安装# yum install fontconfig )

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

快照生成
<script> $(function(){ $('#form').submit(function(){ if (typeof($(this).data('generate')) !== 'undefined' && $(this).data('generate') === true) { alert('正在生成网站快照,请耐心等待...'); return false; } $(this).data('generate', true); $('button').text('正在生成快照...').attr('disabled', true); $.ajax({ type: 'GET', url: '&#63;', data: 'url=' + $('#url').val(), success: function(data){ $('#placeholder').attr('src', data).show(); $('#form').data('generate', false); $('button').text('生成快照').attr('disabled', false); } }); return false; }); }); </script> 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(); });

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn