html2file
Introduction: 收集一系列 html 转文档的开源插件,做成 html 页面转文件的微服务集成 Web 应用,目前包含 html 转 PDF、html 转图片、html 转 markdown、html 转 word、excel 等等。
Tags:
自己用 java 写文档转化生成果然有很多弊端和不兼容的地方,而一些开源插件转这些东西还是效果蛮不错,于是心生收集各种插件(兼容 windows 和 linux)并封装成服务的想法。
这里我将收集一系列 html 转文档的开源插件,做成 html 页面转文件的微服务集成 Web 应用,预计包含:
- 网页转 PDF
- 网页转图片
- 网页转 TEXT
- 网页转 WORD
- 网页转 markdown
- 网页转 excel
- 网页转...
目前支持
1.网页转 PDF(wkhtml2pdf 插件
例如:http://localhost:7800/html2pdf?pageUrl=https://wkhtmltopdf.org
2.网页转图片(wkhtml2pdf 插件)
例如:http://localhost:7800/html2image?pageUrl=https://wkhtmltopdf.org&fileExt=[可为空|默认 .png]
3.网页转 Markdown(参用jHTML2Md)
例如:http://localhost:7800/html2markdown?pageUrl=http://jsoup.org
4.网页转 WORD(参用Apache POI)
例如:http://localhost:7800/html2word?pageUrl=http://poi.apache.org
5.网页转 Excel(参用table-to-xls)
例如:http://localhost:7800/html2excel?pageUrl=http://www.jjwxc.net/bookbase_slave.php?booktype=free
API 服务
服务入口:
/html2file
请求方式:
post
服务入参:
{ "pageUrl":"https://wkhtmltopdf.org", "fileType":"2", "fileExt":"" "pageHtmlContent":"" }
pageUrl
:目标链接,带 http 的链接,无登陆权限验证fileType
:文件类型,1-img,2-pdf,3-markdown,4-word,5-excelfileExt
:文件扩展名,图片转化可以转化为不同后缀格式的图片pageHtmlContent
:目标页面 Html 内容,当不能提供 pageUrl 时,将 html 内容传入也可以转化,其中引用的 css 和 js 需要为带 http 的路径,不能为相对路径
服务出参:
{ "status":1, "result":"/output/20180417/pdf/9c3fd3018bb041429bba702cd127be9e.pdf", "errorMsg":"" }
status
:状态,1-成功,-1-失败result
:结果,这里为转化后的文件路径errorMsg
:错误信息
服务部署
服务开箱即用,Maven 已经配好发布过程,install 后将 dist
内的文件夹复制到服务器,将进入到 bin/
文件夹下面
- linux 系统
chmod +x html2file.sh #授权脚本
sh html2file.sh start #启动服务
sh html2file.sh stop #停止服务
sh html2file.sh reload #重启服务
sh html2file.sh status #状态查看
sh html2file.sh log #日志查看
中文乱码或空白的话,将 resources/font/simsun.ttc
拷贝到 linux 服务器 /usr/share/fonts/
目录下
- windows 系统
直接双击 html2file.bat
文件即可,也可以将该文件注册成服务,在服务管理里面启动。