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

news/2024/5/20 0:33:46 标签: .netcore

工具环境下载:

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方式,暂时只想到当前方式,如果以后有更简单快捷的方法再做更新


http://www.niftyadmin.cn/n/5442234.html

相关文章

日本370公告 各类材质餐具进出口检测 报告出具

食品接触材料指的是在正常使用过程中与食品进行接触的材料,涉及的产品包括:食品包装,餐具、厨具,食品加工机械,厨电产品等,但是由于其在生产过程中使用了一些化学原材料及化学助剂等,使得他们在…

element el-dialog里再调用其他组件,查找不到组件的方法

需求描述:点击编辑按钮,跳出编辑弹窗,回显图片组件里面的图片问题:element el-dialog里再调用组件,打开该弹窗的瞬间找不到弹窗里调用子组件的方法原因:弹窗显示时,调用的子组件还没渲染出来所以…

GANs和Diffusion模型(1)

生成式模型(Generative Models)介绍 概念 机器学习中最早接触的模型往往都是判别式模型(Discriminative Models),判别式模型用于分类或识别。判别式模型的定义如下: A discriminative model is a statistical model that determ…

牛客周赛 Round 37-C-红魔馆的馆主

很有意思的一道题啊 乍一想没思路,感觉还挺难,爆搜?还是咋做? 本题思路: n % 495剩下的数,让这个数成为495的倍数,为啥要这么做呢? 画个除法式子就明白了,这余下的部分是除不开,只能商0的,也就是让这部分除不开的数 成为495的倍数 那这个怎么实现呢? 也很简单,暴力求…

Flutter探索之旅:控制键盘可见性的神奇工具(flutter_keyboard_visibility)

随着移动应用的不断发展,用户体验的重要性愈发突显。而键盘的弹出和隐藏对于用户体验来说是至关重要的一环。在Flutter中,我们有幸拥有一个强大的工具——flutter_keyboard_visibility,它让我们能够轻松地监测键盘的可见性并做出相应的响应。…

node实现比较git两个不同分支的组件差异(新增、删除、更新)及获取组件版本号,踩坑之旅!!!

引言 大家好&#xff0c;我是学习了吗&#xff0c;我给大家分享使用node比较git分支差异和踩坑过程中的解决思路&#xff0c;希望大家在类似的需求上面可以迎刃而解和帮助到大家 如何在node中执行git命令 查看git方法是否有比较两个分支差异的方法 git diff [<options&g…

全量知识系统“全基因序列”程序构想及SmartChat的回复

感觉上&#xff0c;全量知识系统的程序起点基本确定。下一步就是程序了。程序的整个设计过程都准备同时使用两个AI工具。以下是和“百度AI”同步进行的Q&A。 Q1. 基本假设&#xff1a;“全基因序列”中“基因”的本质是联结collection。 做法是&#xff1a; 对给出的一个…

MySql实战--深入浅出索引(上)

提到数据库索引&#xff0c;我想你并不陌生&#xff0c;在日常工作中会经常接触到。比如某一个SQL查询比较慢&#xff0c;分析完原因之后&#xff0c;你可能就会说“给某个字段加个索引吧”之类的解决方案。但到底什么是索引&#xff0c;索引又是如何工作的呢&#xff1f;今天就…