Java PhantomJs完成html图片输出功能

  i. 背景
 
  如何在小程序里面生成一张图,分享到朋友圈呢?目前前端貌似没有太好的解决方法,所以只能猥琐的由后端来支持掉,那么可以怎么玩?
 
  生成图片比较简单
 
  简单的场景,可以直接用jdk来支持掉,一般来讲也没有太复杂的逻辑
 
  之前写过一个图片合成的逻辑,利用awt实现: 图片合成
 
  通用、复杂的模板
 
  简单的可以直接支持,但复杂一点的,让后端来支持,无疑比较恶心,在github上也搜索了一些渲染html的开源库,不知道是姿势不对还是咋的,没有太满意的结果
 
  现在对复杂的模板,要怎么支持呢?
 
  也就是本篇的指南,利用phantomjs来实现html的渲染,支持生成pdf,生成图片,解析dom都ok,接下来则演示下如何结合 phantomjs 搭建一个网页渲染成图片的服务

 
 
  ii. 前提准备
 
  1. phantom.js 安装
 
  2. java依赖配置
 
  maven 配置添加依赖
 
  开动
 
  主要调用phantomjs来实现html渲染图片的逻辑如下
 
  测试case
 
  生成的图片就不贴了,有兴趣的可以直接到我的网站上实测
 
  iii. 网络实测
 
  在阿里云服务器上部署了一个简单的web应用,支持了html输出图片的功能;由于买的是乞丐版,用的前端模板又比较酷炫,所以打开较慢。
 
  操作演示:
 
  v. 项目
 
  项目地址:
 
  quick-media
 
  quickmedia是一个专注图文,音视频,二维码处理等面向多媒体服务的开源项目
 
  以上代码经过我们的测试,大家如果还有不明白可需要讨论的可以在下方留言,感谢你对服务器之家的支持。
 
  原文链接:
 
  javaweb dbutils执行sql命令并遍历结果集时不能查到内容的原因及处理方法如下所示:
 
  遍历结果集时只遍历bean对象才会只输出第一行那种内容(第一行是输出了userentity类实例化的对象),所以这里需要 re.getrepotablename() 才能通过对象调用相对应的内容
 
  这样一来,就可以取到值了
 
  ps:javaweb之dbutils详细介绍如下所示:
 
  一、什么是dbutils及作用
 
  dbutils是apache公司写的。dbutils是java编程中的数据库操作实用工具,小巧简单实用。
 
  dbutils封装了对jdbc的操作,简化了jdbc操作。可以少写代码。
 
  1.对于数据表的读操作,他可以把结果转换成list,array,set等java集合,便于程序员操作;
 
  2.对于数据表的写操作,也变得很简单(只需写sql语句)
 
  3.可以使用数据源,使用jndi,数据库连接池等技术来优化性能–重用已经构建好的数据库连接对象

 
 
  二、dbutils的三个核心对象
 
  2.1、queryrunner类
 
  queryrunner中提供对sql语句操作的api.它主要有三个方法:query() 用于执行select,update() 用于执行insert update delete,batch() 批处理。等下下面的会详细的介绍这几种方法的用法。
 
  2.2、resultsethandler接口
 
  用于定义select操作后,怎样封装结果集。它总共有9个常用的实现类,下面我会详细的为大家介绍怎么去使用。
 
  2.3、dbutils类
 
  它就是一个工具类,定义了关闭资源与事务处理的方法

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h61613.shtml

张贴在2