首页 > 技术笔记 > php > 长微博生成原理
2014
05-25

长微博生成原理

    微博字数限制140字,但是我们在平时经常有140字不够的时候,所以这个时候就需要用到长微博。长微博的生成方法很多人都是自己到网上找长微博工具,然后生成,但是生成之后下面都有版权标识。也有人是直接亲自操刀使用PS来制作,当然,这样的是PS高手。现在网上的在线长微博工具有些是简单的纯文本生成,有些是嵌入自己的富文本编辑器,也有很多是直接使用百度的UEditor来进行编辑。我们使用起来非常方便,但是原理是什么呢?

1.直接通过图形函数库生成

    PHP自带有GD库,我们也可以使用imagick,将文字内容转变成图片,这在处理纯文字内容的时候还可以,但是对于富文本就吃力了!

2.html -> pdf  -> png

    这种方法首先是将html内容生成pdf文档,再将pdf文档转换成图片。html转换成pdf可以使用tcpdf或者html2pdf,pdf转换成png可以使用imagick php扩展。个人建议使用tcpdf的,毕竟tcpdf的版本更新,功能更为强大。这种方法存在一个较大的缺陷,当插入了图片等媒体后,经常会出现一页内无法放进去需要重新在另外一页进行排版的问题,从而生成的图片就会有较大的空白区域;同时每页的内容如果没有完全排满的话,生成的图片同样存在较大的空白区域,十分不美观。

3.通过截图

    这种方法和采用浏览器的截图功能类似,直接将某个url地址内容进行截图。相对而言,对于富文本html内容渲染方便、简单,直接生成html代码即可;另外,内容排版更加合理,不会出现pdf文档中存在空白区域的问题,对中文的支持也很友好。

    目前主要的开源项目有:

    khtml2png,基于linux平台,可以将html转换成图片格式,但是这个对于服务器资源消耗稍微大一点,因为需要安装KED。

    CutyCapt及其兄弟IECapt:其中前者是基于linux和windows平台,后者是基于windows平台,支持svg,ps,pdf,itext,html,rtree,png,jpeg,mng,tiff,gif,bmp,ppm,xbm,xpm等多种格式,使用均较为简单。再配合使用imagick对生成的图片进行优化,同时还可以方便的进行水印等操作。

    通过对比很容易发现,CutyCapt+imagick应该是最好的方法。

最后编辑:
作者:射雕天龙
转载请注明:转载自射雕天龙的博客(http://blog.wangjunfeng.com)
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

长微博生成原理》有 4 条评论

  1. 神父 说:

    不玩微博的路过。对于长微博,我机器上装了虚拟打印机,用word或者wps可以直接输出图片,应该很方便解决吧

  2. 小清新头像吧 说:

    关注下了。

留下一个回复

你的email不会被公开。