【.net/.net core】后台生成echarts图片解决方案及.net core html转word方法

时间:2024-03-29 09:04:09

工具环境下载:

EChartsConvert:https://gitee.com/saintlee/echartsconvert

EChartsConvert为生成echarts图片的服务端,用于接收参数和生成echarts图表图片BASE64编码

PhantomJS:Download PhantomJS

PhantomJS用来发布EChartsConvert服务,下载链接在EChartsConvert项目的README.MD文件中

按照指示步骤设置环境变量

服务发布:

echarts-convert.js同级目录下

运行命令phantomjs echarts-convert.js -s -p xxxx

xxxx表示发布端口,默认端口为9090

发布成功示例:出现echarts-convert server start success,pid为进程号

api调用:参数内容

{"series":[{"type":"pie","data":[{"value":335,"name":"直接访问"},{"value":310,"name":"邮件营销"}]}],"backgroundColor":"#2c343c"}

使用get方式在query中直接传参,调用成功返回代码code为1,data为图片base64编码数据

编码转换为图片:

注:这边使用GET请求时修改了echartsconvert-master/echarts-convert.js中的代码

具体使用场景根据自身情况调整服务请求方式和参数编码方式,对应需要修改echartsconvert-master/echarts-convert.js中的参数解码方式和参数接收方式

附:.net core html页面转换为word

nuget安装包:

转换代码:

using Spire.Doc;//包引用

//创建 Document 对象

Document document = new Document();
string dir = Directory.GetCurrentDirectory();
//加载HTML文件
document.LoadFromFile(dir+ "\\Resource\\test.html");
//将HTML文件转为Word并保存
document.SaveToFile(dir + "\\Resource\\HtmltoWord.docx", FileFormat.Docx2013);

只进行了简单测试,html原生的dom元素都可直接转换,但echarts图表不可直接转化,所以采用先将echarts图表转换为图片,然后生成报告html页面,再将页面转换为word方式,暂时只想到当前方式,如果以后有更简单快捷的方法再做更新