电商平台网站模板想建网站

news/2025/9/24 7:15:46/文章来源:
电商平台网站模板,想建网站,国家住建部官网,大连网站优化多少钱1、下载jspdf插件包 npm i jspdf2、在utils文件夹下创建一个单独的文件#xff08;名字无具体要求#xff09; // 页面导出为pdf格式#xff0c;title表示为下载的标题#xff0c;html表示要下载的页面 import html2Canvas from html2canvas // 不用单独去下载这个包名字无具体要求 // 页面导出为pdf格式title表示为下载的标题html表示要下载的页面 import html2Canvas from html2canvas // 不用单独去下载这个包下载jspdf包时就已经下载下来了所以直接用就可以了 import JsPDF from jspdf import { Loading } from element-ui let noTableHeight 0; //table外的元素高度 function htmlPdf(title, html, lableList, type) {// type传有效值pdf则为横版const loading Loading.service({lock: true,text: 正在生成PDF文件,spinner: el-icon-loading,background: rgba(0, 0, 0, 0.7)})if (lableList) {const pageHeight Math.floor(277 * html.scrollWidth / 190); //计算pdf高度for (let i 0; i lableList.length; i) { //循环获取的元素const multiple Math.ceil((lableList[i].offsetTop lableList[i].offsetHeight) / pageHeight); //元素的高度if (isSplit(lableList, i, multiple * pageHeight)) { //计算是否超出一页let _H //向pdf插入空白块的内容高度_H multiple * pageHeight - (lableList[i].offsetTop lableList[i].offsetHeight);let newNode getFooterElement(_H); //向pdf插入空白块的内容const divParent lableList[i].parentNode; // 获取该div的父节点const next lableList[i].nextSibling; // 获取div的下一个兄弟节点// 判断兄弟节点是否存在if (next) {// 存在则将新节点插入到div的下一个兄弟节点之前即div之后divParent.insertBefore(newNode, next);} else {// 否则向节点添加最后一个子节点divParent.appendChild(newNode);}}}}html2Canvas(html, {allowTaint: false,taintTest: false,logging: false,useCORS: true,dpi: window.devicePixelRatio * 1, scale: 4 // 按比例增加分辨率图片模糊时数值调高点}).then(canvas {let pdf new JsPDF(p, mm, a4); // A4纸纵向let ctx canvas.getContext(2d);let a4w type ? 277 : 190; let a4h type ? 190 : 277; // A4大小210mm x 297mm四边各保留10mm的边距显示区域190x277let imgHeight Math.floor(a4h * canvas.width / a4w); // 按A4显示比例换算一页图像的像素高度let renderedHeight 0;while (renderedHeight canvas.height) {let page document.createElement(canvas);page.width canvas.width;page.height Math.min(imgHeight, canvas.height - renderedHeight);// 可能内容不足一页// 用getImageData剪裁指定区域并画到前面创建的canvas对象中page.getContext(2d).putImageData(ctx.getImageData(0, renderedHeight, canvas.width, Math.min(imgHeight, canvas.height - renderedHeight)), 0, 0);pdf.addImage(page.toDataURL(image/jpeg, 1.0), JPEG, 10, 10, a4w, Math.min(a4h, a4w * page.height / page.width)); // 添加图像到页面保留10mm边距renderedHeight imgHeight;if (renderedHeight canvas.height) {pdf.addPage();// 如果后面还有内容添加一个空页}// delete page;}loading.close()// 保存文件pdf.save(title .pdf);}); }// pdf截断需要一个空白位置来补充 function getFooterElement(remainingHeight, fillingHeight 0) {const newNode document.createElement(div);newNode.style.background #ffffff;newNode.style.width calc(100% 8px);newNode.style.marginLeft 0px;newNode.style.marginBottom 0px;newNode.classList.add(divRemove);newNode.style.height (remainingHeight fillingHeight) px; return newNode; } // 计算是否超出一页 function isSplit(nodes, index, pageHeight) {noTableHeight nodes[index].clientHeightreturn nodes[index].offsetTop nodes[index].offsetHeight pageHeight nodes[index 1] nodes[index 1].offsetTop nodes[index 1].offsetHeight pageHeight; } export default htmlPdf;el-button typeprimary clickexportReport输出报表/el-button div classoutput-report-pdf refoutputReportPDF v-ifoutputReportPDFShowdiv classpdf-item refoutputReportPDFItem v-for(item, index) in reportPdfData :keyindex :style(index 1) % 2 ! 0 ? border-bottom: none: div classoutput-report-imgel-image stylewidth: 100%; height: 100% :srcitem.img fitcontain loadhandleImage(index)/el-image/div/div /divscript // 引入刚才创建的文件 import htmlPdf from /utils/htmlToPdfdata() {return {outputReportPDFShow: false} }, methods: {exportReport() {this.reportPdfData 从后端获取到的数据this.outputReportPDFShow true},// el-image加在完图片时触发handleImage(index) {// 等最后一张图片在页面中加在完再输出成pdf要不然pdf文件里的图片会不显示if (index 1 this.reportPdfData.length) {const name 测试// name保存的文件名称this.$refs.outputReportPDF要输出成pdf的总模块this.$refs.outputReportPDFItem总模块中的每个item,用于判断是否需要在换页时加个空白框隔开htmlPdf(name, this.$refs.outputReportPDF, this.$refs.outputReportPDFItem)this.outputReportPDFShow false}} } /scriptstyle scoped langscss .output-report-pdf {.pdf-item {// 其它样式根据具体要求设置但是每个小模块的宽高有要求因为要计算小模块是否需要放到下一页显示width: 570px; // pdf的高度277 * width / 190, width最好是190的倍数出现小数时容易出错height: 415px; // 高度最好不要超过一页pdf的高度border: 1px solid #000000;.output-report-img {width: 100%;height: 100%;}} } /style每页pdf的高度计算公式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915175.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux系统怎么做网站网站seo诊断分析报告

编写程序,实现一个具有开户、查询、取款、存款、转账、锁定、解锁、退出功能的银行管理系统。 结果展示 1.Main主方法 from zzjmxy.class7.atm import ATM from zzjmxy.class7.manager import Manager # 主面板,实现主要逻辑if __name__"__main__…

帝国cms网站迁移下载代码的网站

近年来,燃气爆炸事故频发,造成了重大人员伤亡和财产损失。这也再次为我们敲响警钟,燃气是我们日常生活中不可或缺的能源,但其潜在的危险性也是不容小觑。因此在重要节点加装燃气阀井气体监测仪,并将数据上传到系统平台…

网站首页成品在线直播网站建设

官方glTF模型案例 obj2gltf 的开发文档 第一步:这里首先要将我们的.obj文件转换为.gltf文件 全局安装 npm install -g obj2gltf终端打开.obj文件所在的文件夹执行 obj2gltf -i model.obj -o model.gltf -t (-i model.obj对应你的obj文件的名字&#x…

直接进网站的浏览器打开宜春网站开发公司

From: http://hi.baidu.com/david_jlu/blog/item/87ada1dbb9af6a60d0164eda.html 正则表达式在linux下应用非常广泛,经常使用sed、awk、grep、vi、emacs等都支持正则表达式,处理最好的莫过于perl,perl把正则表达式内置到语言内,使…

怎么在服务器里面做网站wordpress 作者推荐

windows7无法启动安装过程怎么办?暗黄win7系统的时候经常遇见这种问题可能是硬件问题导致的,还有可能是系统设置问题导致的,我们具体原因具体分析,一起来看看解决方法,动手实践起来吧!1、方法一&#xff1a…

广西建设厅招投标中心网站wordpress可以制作什么网站

大家好,我是奇兵。 文章比较长,请耐心看完! 项目上线是每位学编程同学必须掌握的基本技能。之前我已经给大家分享过很多种上线单体项目的方法了,今天再出一期微服务项目的部署教程,用一种最简单的方法,带…

网站后台登陆破解选择响应式网站

资料问题 主要影响客户体验, 低级问题. 类似于单词拼写错误, 用词有歧义,等。 另一点是,我们的用户文档,主要偏向于技术向的描述,各种参数功能罗列。友商有比较好的最佳实践操作说明。我们后面也会都增加这样的最佳实践。golang o…

住房和城乡建设部主网站自己做的网站图片不显示

【软件测试面试突击班】如何逼自己一周刷完软件测试八股文教程,刷完面试就稳了,你也可以当高薪软件测试工程师(自动化测试) 一 简介 1.什么是ant? ant是构建工具 2.什么是构建 概念到处可查到,形象来说&#xff…

厦门php商城网站建设珠海室内设计公司排名

程序员也分为好几等,在现在看来大部分的Android、Java、前端等等开发。已经看不到希望了,很多人都在边缘挣扎;刚看到一位Android开发者,过完年回公司就通知被裁;可见每年都会有很多互联网公司倒闭,或者裁员…

Memento:基于记忆无需微调即可让大语言模型智能体持续学习的框架

大语言模型智能体(LLM Agent)是一类利用大语言模型通过交互、推理和决策来自主执行复杂任务的系统,通常具备访问外部工具、记忆系统或环境的能力。与被动响应单一提示的传统LLM不同,LLM智能体采用主动且迭代的运行…

深圳建设企业网站网站开发数据接口如何利用

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:Linux从入门到开通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学更多操作系统知识   🔝🔝 Linux权限 1. 前言2. shell命…

阿里建站服务wordpress 官方主题

总结: Siamese网络衡量两个输入的相似程度,输出是一个[0,1]的浮点数,表示二者的相似程度。孪生神经网络有两个输入(Input1 and Input2),将两个输入feed进入两个神经网络(Network1 and Network2&#xff09…

做网站湘潭wordpress中设置ajax分页

centos7 没有python-pip包就执行命令 yum -y install epel-release 执行成功之后,再次执行 yum install python-pip 对安装好的pip进行升级 pip install --upgrade pip 至此,pip工具就安装好了。 所有的问题都是最后一刻解决,如果没有解决…

网站建设服务费下什么科目织梦网站演示

小明His标签蛋白镍柱纯化有杂带怎么办啊汇研生物——His标签蛋白纯化填料家簇1.样品本身的的属性,His蛋白容易被体系中的蛋白酶降解时,此时就要在样品中加入蛋白酶抑制剂。避免在纯化过程中His蛋白被降解,呈现出纯化后纯度下降。2.His蛋白和其…

商务推广网站国外网站打不开怎么解决

DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件(/var/log/secure),当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能 DenyHosts官方网站 http://denyhosts.sourceforge.net 下…

建设快卡额度查询网站海阳玖网站建设

目录 一.Bean生命周期的简介 1.基本概念 2.Spring生命周期的几大阶段 3.注意点及小结 4.生活案例 5.Spring容器管理JavaBean的初始化过程 二. Bean的单例选择与多例选择 1.单例选择与多例选择的优缺点 1.1单例模式的优点: 1.2单例模式的缺点: 1…

郑州制作个人网站html网站设计范例

分布式锁核心知识介绍和注意事项 基于Redis实现分布式锁的几种坑 综合伪代码: 运行:

沈阳市营商环境建设监督局网站昆明做网站优化

最近,机器学习岗位越来越火爆,那么自然对算法的一些能力要求也是越来越高,想要在求职者中脱颖而出,起步自然非常重要。 我和小伙伴们一起研讨了 2019 年校招的一些算法面试,有些是亲自经历的,也有伙伴分享的…

qq同步wordpress分类目录网站大全做seo

考试题型: 不定项选择题 10 道 , 填空题 10 道 , 问答题 2 道 , 编程题 4 道 目录 不定项选择题 10 道填空题 10 道问答题 2 道编程题 4 道 不定项选择题 10 道 在TCP协议中,发送方的窗口大小是由两个关键因素共同决定…

网站建设前的市场分析怎么写wordpress博客金融模板

核心 欧拉角描述的是一种变换,只关注变换后的结果,不关注变换过程中的运动 而四元数不仅良好地表示了一种变换,也很好地表示了一种运动过程,又避免了万向节死锁Gimbal Lock变换顺序,是欧拉角变换的一部分,…