源码地址
源码地址:https://gitee.com/hengboy/html-covert-image
目的
本项目致力于生成海报图片,使用html
转换image
的方案实现,通过Java
调取PhantomJs
来进行转换。
环境准备
在使用本项目之前,需要安装PhantomJs
到运行项目的服务器环境中,如下提供Mac/Linux
两种方式的方式:
Mac方式下载
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-macosx.zip
Linux方式下载
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
下载完成后准备解压文件,解压完成后得到bin
目录下的phantomjs
可执行文件,我们需要把该文件放置到/usr/local/bin
目录下:
cp phantomjs-2.1.1-macosx/bin/phantomjs /usr/local/bin
集成本项目依赖
在你的项目中添加html-convert-image
的依赖,如下分两种集成方式:
Maven环境
<dependency>
<groupId>com.gitee.hengboy</groupId>
<artifactId>html-convert-image</artifactId>
<version>1.0.0.RELEASE</version>
</dependency>
Gradle环境
compile group: 'com.gitee.hengboy', name: 'html-convert-image', version: '1.0.0.RELEASE'
怎么生成呢?
生成比较简单方便,只需要传递html
的网址就可以了,如下所示:
// 执行html转换图片
String url = "https://cloud.tencent.com/developer";
BufferedImage img = Html2ImageByJsWrapper.renderHtml2Image(url);
// 获取图片base64字符串
String imageBase64 = HtmlToImageWrapper.getImageBase64(img,MediaType.ImagePng);
得到图片的base64
字符串,你就可以通过工具类把base64
转换成图片了。
有问题要问?
如果你有技术相关的问题想要咨询
恒宇少年
,请去博客(http://blog.yuqiyu.com)首页左侧导航栏,点击知识星球
微信扫码加入我的星球。
与恒宇少年面对面
如果你喜欢
恒宇少年
的相关文章,那么就去微信公众号(恒宇少年
)关注我吧!!!
当然你也可以去 SpringCloud码云源码 项目底部扫描微信公众号二维码关注我,感谢阅读!!!
学习目录推荐
- SpringCloud相关系列文章访问:https://www.jianshu.com/p/64e4aaada96b
- SpringBoot相关系列文章请访问:http://www.jianshu.com/p/9a08417e4e84
- QueryDSL相关系列文章请访问:http://www.jianshu.com/p/99a5ec5c3bd5
- SpringDataJPA相关系列文章请访问:http://www.jianshu.com/p/615ed9c1fe84
开源信息
这段时间一直在编写开源的相关框架,致力于公司使用的框架升级以及开源计划,将公司使用到的工具
以及插件
进行升级重构并且开源。
- 代码生成器(Code-Builder)
code-builder
代码生成器根据你提供的模板文件(目前支持freemarker
)自动生成实体类,可以很大很有效的提高开发效率。Gitee地址
:https://gitee.com/hengboy/code-builderGithub地址
:https://github.com/hengyuboy/code-builder - 持久化框架(MyBatis-Enhance)
mybatis-enhance
是一个对mybatis
框架的增强封装,提供一系列的内部方法来完成单表数据的操作,多表数据提供DSL
方式进行操作。Gitee地址
:https://gitee.com/hengboy/mybatis-enhanceGithub地址
:https://github.com/hengyuboy/mybatis-enhance - 自动分页插件
MyBatis-Pageable
是一款自动化分页的插件,基于MyBatis
内部的插件Interceptor
拦截器编写完成,拦截Executor.query
的两个重载方法计算出分页的信息以及根据配置的数据库Dialect
自动执行不同的查询语句完成总数量的统计。Gitee地址
:https://gitee.com/hengboy/mybatis-pageable