使用PHP 给网站 生成快照图片和缩略图

limuxia 2012-06-07

使用PHP给网站生成快照图片和缩略图

因为做网站综合信息查询需要用到这个

搜索了一下国外的的解决方案

大部分是使用对方API来实现的

但是这种方式不太好

1是会被对方加上水印,缩略图被加水印不太好

2免费提供的有生成限制,收费的太贵了一般$1=可以生成10个缩略图

像我这种要生成大约9千万以上缩略图的感觉不太靠谱费用太贵而且缩略图都被人家水印了

最后决定还是使用第三方的开源软件自建

这样网站快照生成后可以自动上传到又拍云里调用速度快

暂时测试的这个方案无问题

http://code.google.com/p/wkhtmltopdf/downloads/list

32位的下载

wkhtmltoimage-0.11.0_rc1LinuxStaticBinary(i368)

64位的下载

wkhtmltoimage-0.11.0_rc1LinuxStaticBinary(AMD64)

这个是已编译的静态可执行文件比较简单和方便

解压

tar-xvf***.tar.bz2

移动下目录然后直接PHP调用

比如/sbin/wkhtmltoimage

先测试/sbin/wkhtmltoimagegoogle.comg.jpg

建议将清晰度设置的低点

我测试了如果不调的话

Google的页面生成了PNG大小是1M多JPG是400多K

PHP里直接exec就可以调用生成然后做图片处理

然后在使用php的gd或者im

php使用GD或者IM的图片处理模块处理就可以了

可以加缩略图的水印等等

还在测试其他的开源方案

可以提供REST接口的

到时候在更新

-------------------------------------

国外有很多网站,会提供的URL地址的预览功能,鼠标移到URL地址上,就自动显示网站的缩略图。

我看用wkhtmltopdf来实现正合适,而且提供了Windows、Linux和Mac平台上的版本。

该工具的详细参数如下:

GeneralOptions:

--crop-h<int>Setheightforcroping

--crop-w<int>Setwidthforcroping

--crop-x<int>Setxcoordinateforcroping

--crop-y<int>Setycoordinateforcroping

-H,--extended-helpDisplaymoreextensivehelp,detailinglesscommoncommandswitches

-f,--format<format>Outputfileformat(defaultisjpg)

-h,--helpDisplayhelp

--quality<int>Outputimagequality(between0and100)(default94)

-V,--versionOutputversioninformationanexit

--width<int>Setscreenwidth(defaultis1024)(default1024)

---------------------------

tar下载地址:

http://code.google.com/p/wkhtmltopdf/downloads/list

相关链接

http://blog.cnlabs.net/?p=2625

http://blog.cnlabs.net/?p=2636

http://brooky.cc/2011/05/26/convert-html-to-image-and-pdf/

http://www.oschina.net/question/12_10653

相关推荐