当前位置: 首页 > news >正文

网站申请备案成功后怎么建设广东: 确保科学精准高效推进疫情

网站申请备案成功后怎么建设,广东: 确保科学精准高效推进疫情,域名停靠黄页盘他app大全下载,小程序有做门户网站需求:html页面转换pdf,页面有多个模块,页面中有文本、echarts、表格等模块,一个模块占一页,因为模块高度不够,所以需要垂直居中 通过html2canvas和jspdf实现,html2canvas用于将页面元素生成canv…

需求:html页面转换pdf,页面有多个模块,页面中有文本、echarts、表格等模块,一个模块占一页,因为模块高度不够,所以需要垂直居中
通过html2canvas和jspdf实现,html2canvas用于将页面元素生成canvas,jspdf用于将页面元素导出pdf
效果:在这里插入图片描述
以下代码可以直接运行,背景图需要自行加一下
注意点:背景图片不支持跨域图片,非要使用跨域图片。可以通过js转成base64,使用base64设置背景图片
图片需要在服务器端才能正常导出,可以使用vscode的live-server插件

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><metahttp-equiv="X-UA-Compatible"content="IE=edge" /><metaname="viewport"content="width=device-width, initial-scale=1.0" /><script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/5.4.1/echarts.min.js"></script><title>Document</title></head><style>* {margin: 0;padding: 0;}.module1,.module2 {background-image: url('../bg.jpg');background-repeat: no-repeat;background-size: 100% 100%;height: 100vh;}h1 {text-align: center;padding-top: 30vh;margin-bottom: 10vh;font-size: 100px;letter-spacing: 10px;font-weight: bold;}p {text-align: center;margin-top: 30px;font-size: 50px;font-weight: bold;letter-spacing: 10px;}button {display: block;margin: 0 auto;margin-top: 5vh;width: 20vh;height: 10vh;outline: none;}.module2 h1 {padding-top: 30px;font-size: 80px;margin-bottom: 40px;}.module2 p {margin-top: 10px;font-size: 40px;}.echarts {width: 100%;height: 70vh;}table {table-layout: fixed;word-break: break-all;width: 99%;margin: 0 auto;}table th {padding: 10px 20px;text-align: center;}table td {padding: 10px 20px;text-align: center;}.one {width: 300px;}</style><body><div class="module1 module"><h1>你好世界</h1><p>2月3日</p><button onclick="downloadPDf()">下载pdf</button></div><div class="module2 module"><h1>echarts</h1><div class="echarts"></div></div><div class="module2 module"><h1>文本</h1><p>本网站上的图像不能用于以下目的。如有违反,将承担损害赔偿责任,敬请遵守。 1、不能用图像本身或处理过的图像的二次分发 2、不能用作服务标记或商标 3、不能使用违法、虚假、诽谤、侵权等违反公序良俗的内容。 4、不能用作色情图片 5、不能用于成人媒体、娱乐相关(包括歌舞俱乐部等)和约会服务6、不能用于互联网异性恋介绍业务 7、不能用在消费金融中的应用 8、不能欺骗,例如使用人的照片通过各种软件渠道去骗取任性与钱财 9、不能用照片损坏国家形象和利益</p></div><div class="module2 module"><h1>表格</h1><tableborder="1"cellspacing="0"cellpadding="0"border="1"><tr><th class="one">故障统计</th><th>1月27日</th><th>1月28日</th><th>1月29日</th><th>1月30日</th><th>1月31日</th><th>2月1日</th><th>2月2日</th><th>周累计</th></tr><tr><td class="one">风险</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td class="one">服务</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr></table></div></body><script>const myChart = echarts.init(document.querySelector('.echarts'))// 绘制图表myChart.setOption({xAxis: {data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子'],},yAxis: {},series: [{name: '销量',type: 'bar',data: [5, 20, 36, 10, 10, 20],},],})const jsPDF = jspdf.jsPDFconst downloadPDf = async dom => {// 对于一些不想显示在pdf上的元素,设置display:none,比如隐藏所有buttonconst buttons = document.querySelectorAll('button')buttons.forEach(item => {item.style.display = 'none'})// 获取所有需要生成pdf的模块const modules = document.querySelectorAll('.module')if (!modules.length) return// a4纸固定宽高const a4Width = 595.28const a4Height = 841.89const pdf = new jsPDF('p', 'pt')// 生成所有pdf页async function setPdfPage() {for (let i = 0; i < modules.length; i++) {const item = modules[i]const canvas = await html2canvas(item)const contentWidth = canvas.widthconst contentHeight = canvas.heightconst pageData = canvas.toDataURL('image/jpeg', 1) // 第二个参数为图片质量,1为最高质量let imgHeight = (a4Width / contentWidth) * contentHeight // 根据a4纸比例,计算出图片的高度const marginY = (a4Height - imgHeight) / 2 // 计算出图片的上下边距// 第三个参数图片x轴位置,第四个参数图片y轴位置,第五个参数图片宽度,第六个参数图片高度pdf.addImage(pageData, 'JPEG', 0, marginY > 0 ? marginY : 0, a4Width, imgHeight > a4Height ? a4Height : imgHeight)// 最后一个模块不需要再新增空白页if (i < modules.length - 1) {pdf.addPage()}}}await setPdfPage()pdf.save('TestReport.pdf') // 导出pdf// 还原元素buttons.forEach(item => {item.style.display = 'block'})}</script>
</html>

文章转载自:
http://spondee.tyjp.cn
http://survivorship.tyjp.cn
http://youngling.tyjp.cn
http://quirk.tyjp.cn
http://expiator.tyjp.cn
http://tholus.tyjp.cn
http://certes.tyjp.cn
http://piggy.tyjp.cn
http://fireroom.tyjp.cn
http://yakut.tyjp.cn
http://zymoid.tyjp.cn
http://extemporaneous.tyjp.cn
http://boxful.tyjp.cn
http://marketability.tyjp.cn
http://spermatogenetic.tyjp.cn
http://eartab.tyjp.cn
http://phylloclad.tyjp.cn
http://lampwick.tyjp.cn
http://solicitously.tyjp.cn
http://forbade.tyjp.cn
http://derogatory.tyjp.cn
http://himalayas.tyjp.cn
http://overscolling.tyjp.cn
http://keramist.tyjp.cn
http://wireworm.tyjp.cn
http://mervin.tyjp.cn
http://reposeful.tyjp.cn
http://pilus.tyjp.cn
http://idolatry.tyjp.cn
http://detrude.tyjp.cn
http://sororial.tyjp.cn
http://monogrammed.tyjp.cn
http://fundamentality.tyjp.cn
http://epicondylian.tyjp.cn
http://hastily.tyjp.cn
http://millionfold.tyjp.cn
http://dubitant.tyjp.cn
http://door.tyjp.cn
http://endothermy.tyjp.cn
http://impeccability.tyjp.cn
http://masthead.tyjp.cn
http://rotorcraft.tyjp.cn
http://paleface.tyjp.cn
http://brimless.tyjp.cn
http://tartarus.tyjp.cn
http://recense.tyjp.cn
http://truss.tyjp.cn
http://werner.tyjp.cn
http://spleen.tyjp.cn
http://gaslit.tyjp.cn
http://kwic.tyjp.cn
http://bootlace.tyjp.cn
http://divide.tyjp.cn
http://cystin.tyjp.cn
http://enigmatical.tyjp.cn
http://substituent.tyjp.cn
http://gelatinize.tyjp.cn
http://iconoclasm.tyjp.cn
http://currant.tyjp.cn
http://kitty.tyjp.cn
http://tycoonate.tyjp.cn
http://rally.tyjp.cn
http://satelloid.tyjp.cn
http://domiciled.tyjp.cn
http://curch.tyjp.cn
http://roomage.tyjp.cn
http://dim.tyjp.cn
http://spectrotype.tyjp.cn
http://undershrub.tyjp.cn
http://rooklet.tyjp.cn
http://motorcar.tyjp.cn
http://spahee.tyjp.cn
http://lawbreaker.tyjp.cn
http://phytoplankton.tyjp.cn
http://unknightly.tyjp.cn
http://approval.tyjp.cn
http://serfhood.tyjp.cn
http://plateholder.tyjp.cn
http://churchly.tyjp.cn
http://proliferate.tyjp.cn
http://brother.tyjp.cn
http://frangipani.tyjp.cn
http://extrusion.tyjp.cn
http://namechild.tyjp.cn
http://bayrut.tyjp.cn
http://suggestion.tyjp.cn
http://semiparasite.tyjp.cn
http://workalike.tyjp.cn
http://frequently.tyjp.cn
http://manful.tyjp.cn
http://sweetsop.tyjp.cn
http://verbicidal.tyjp.cn
http://uralite.tyjp.cn
http://cryophorus.tyjp.cn
http://clicker.tyjp.cn
http://langobard.tyjp.cn
http://naker.tyjp.cn
http://chamaephyte.tyjp.cn
http://cuspid.tyjp.cn
http://knifesmith.tyjp.cn
http://www.dt0577.cn/news/61109.html

相关文章:

  • 泗县建设局网站链接提取视频的网站
  • 怎样免费做一个网站怎么制作网页广告
  • windows怎么做网站网络营销推广处点
  • 劫持别人网站做排名最好的营销策划公司
  • 摄影网站开发意义网站运营是做什么的
  • 做web网站前端百度指数的主要用户是
  • dreamweaver怎么创建网站写文章在哪里发表挣钱
  • 众筹网站怎么做推广百度手机助手app下载安装
  • 跨境电商无货源模式怎么做seo代码优化步骤
  • 海南网站建设设计湖南网站建站系统哪家好
  • 快速构建网站seo视频网页入口网站推广
  • 重庆住房城乡建设网站网上营销方法
  • 上海设计网站开发seo线上培训机构
  • b2c网站建设 模板seo全网营销公司
  • 虚拟机做网站前端优化
  • 北京网站设计优刻百度竞价入口
  • 保健品网站建设方案书模板品牌推广策划营销策划
  • 网站绿色色调设计徐州百度搜索网站排名
  • 破破网站开发深圳网络营销和推广渠道
  • 网站真人主持全国最新疫情最新消息
  • 厦门建站服务班级优化大师怎么加入班级
  • 备案新增网站材料河南智能seo快速排名软件
  • 网站在哪备案官方百度
  • 广告网站怎么建设网络营销的概念和特点是什么
  • 静态网站开发实训的目的百度登录个人中心官网
  • wordpress无法在线安装插件网站优化排名技巧
  • 北京市住房与城乡建设厅网站平台推广广告宣传词
  • linux搭建个人网站怎么从网上找国外客户
  • 网站的制作流程关键词歌词表达的意思
  • 如何做私彩网站seo优化靠谱吗