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

如何推广网站业务热可可怎么做视频网站

如何推广网站业务,热可可怎么做视频网站,自闭症网站的建设意义,今天广州出什么大事了pdf下载 实现pdf下载的环境安装jspdf插件在项目中使用 实现pdf下载的环境 项目需求案例背景,点击【pdf下载】按钮,弹出pdf下载弹窗,显示需要下载四个模块的下载进度,下载完成后,关闭弹窗即可! 项目使用的是…

pdf下载

  • 实现pdf下载的环境
  • 安装jspdf插件
  • 在项目中使用

实现pdf下载的环境

在这里插入图片描述
项目需求案例背景,点击【pdf下载】按钮,弹出pdf下载弹窗,显示需要下载四个模块的下载进度,下载完成后,关闭弹窗即可!

  • 项目使用的是Vue2,版本为^2.5.10;
  • jspdf插件版本为^2.5.1
  • html2canvas插件版本为^1.4.1

安装jspdf插件

npm install jspdf@2.5.1
npm install html2canvas@1.4.1

在项目中使用

下面是在项目中的使用相关的代码包括引入,状态,以及相关函数,模版的代码就直接省略掉了;仅供大家参考;

import JsPDF from "jspdf";
import html2Canvas from "html2canvas";
 data(){return {pdfDownLoadStatus:false,pdfDownLoadSteps:[],}}

点击事件以及相关函数

//点击pdf下载按钮事件downPdf(){//pdf下载状态开启this.pdfDownLoadStatus = true;//需要截屏的区域,用在渲染pdf下载弹窗进度里面的内容//code为页面下载区域的idthis.pdfDownLoadSteps = [{ code: "idxxx1", name: "xx基本信息", status: "wait" },{ code: "idxxx2", name: 'xx列表', status: "wait" },{ code: "idxxx3", name: 'xx效果', status: "wait" },{ code: "idxxx4", name: 'xx意见', status: "wait" },];//打开pdf下载进度弹框,这里就这个弹窗模版中代码就省略掉了this.$refs.pdfDownloadModal.open();//pdf下载相关函数this.getPdf('下载文件名称');}async getPdf(title){let PDF = new JsPDF({unit: 'pt',format: 'a4',orientation: 'p',});let A4_WIDTH = 595.28let A4_HEIGHT = 841.89//pdf添加内容y轴起始位置let position = 0//判断是否有下载内容if (this.pdfDownLoadSteps && this.pdfDownLoadSteps.length > 0) {//y:pdf截屏区域的下标for (let y = 0 ; y < this.pdfDownLoadSteps.length ; y++) {//折叠面板let item = this.pdfDownLoadSteps[y];//开始item.status = 'valid';//将折叠面板转为canvas元素添加到pdf实例await this.toCanvasPanel(PDF, position, document.querySelector("#" + item.code), A4_WIDTH, A4_HEIGHT).then((data)=>{position = data.pdfPosition;this.generatePdf(item, this.pdfDownLoadSteps, y, title, PDF);});}}},/*** 生成PDF* @param item 当前区域下载状态* @param pdfDownLoadSteps 截屏的区域名* @param y 当前区域下标* @param title 文件标题* @param PDF*/generatePdf(item, pdfDownLoadSteps, y, title, PDF) {//完成item.status = 'success';//最后一个截屏区域if (y == this.pdfDownLoadSteps.length - 1) {PDF.save(title + '.pdf');//pdf下载状态取消this.pdfDownLoadStatus = false;}},/*** 将折叠面板转为canvas元素添加到pdf实例* @param PDF* @param position 添加内容的起始位置* @param dom* @param imgWidth 图片宽度* @param pdfHeight pdf页高* @returns {Promise<unknown>}*/toCanvasPanel(PDF, position, dom, imgWidth, pdfHeight){var p = new Promise(function(resolve, reject){html2Canvas(dom, {background: "#FFF"}).then(function (canvas) {//获取canavs转化后的宽度let contentWidth = canvas.width;//获取canavs转化后的高度let contentHeight = canvas.height;//高度转化为PDF的高度let imgHeight = imgWidth / contentWidth * contentHeight;//转化成图片Datalet pageData = canvas.toDataURL('image/jpeg', 1.0);//PDF当前页剩余高度let pageResidue = pdfHeight - position;//添加图片到pdfPDF.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight);//图片高度>PDF当前页剩余高度if (imgHeight > pageResidue) {//图片剩余高度=图片高度-当前页剩余高度let imgResidue = imgHeight - pageResidue;while (imgResidue > 0) {//下一页起始位置=图片剩余高度-图片高度position = imgResidue - imgHeight;//图片剩余高度-PDF高度,获取图片剩余高度imgResidue -= pdfHeight;//增加分页PDF.addPage();PDF.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight);}}//下次截屏的起始位置position = position.add(imgHeight);resolve({'state': false, 'pdfPosition': position});})});return p;},

文章转载自:

http://DjtdAodn.jpgfq.cn
http://ERju7vYs.jpgfq.cn
http://JHWybQni.jpgfq.cn
http://urFg1udS.jpgfq.cn
http://23xGfUCx.jpgfq.cn
http://rhB2S86Z.jpgfq.cn
http://jQhjXifa.jpgfq.cn
http://vp5ipK04.jpgfq.cn
http://j9vFap6J.jpgfq.cn
http://IZplE3WY.jpgfq.cn
http://uORtW0xF.jpgfq.cn
http://q7SR54kp.jpgfq.cn
http://2JQ1z7IR.jpgfq.cn
http://ywSIwbIz.jpgfq.cn
http://tjLxj6As.jpgfq.cn
http://4G7Pp4Jb.jpgfq.cn
http://gIiwGoA2.jpgfq.cn
http://SvFECxFy.jpgfq.cn
http://4Dz2tfNQ.jpgfq.cn
http://m15GDCjt.jpgfq.cn
http://to1s65mx.jpgfq.cn
http://Fig11tm2.jpgfq.cn
http://6eV5h6Rq.jpgfq.cn
http://eVRSWRH9.jpgfq.cn
http://YwAzoTeI.jpgfq.cn
http://qxfxjH0o.jpgfq.cn
http://d3zQmkXL.jpgfq.cn
http://JWJSG0GR.jpgfq.cn
http://Q7QRiiPF.jpgfq.cn
http://hRZWSRhm.jpgfq.cn
http://www.dtcms.com/wzjs/749228.html

相关文章:

  • 网站开发项目的需求分析哪个网站能在线做司考题目
  • 中山营销网站建设联系方式下载量最高的wordpress主题
  • 茂名网站建设教上海娱乐场所恢复营业最新通知
  • 深圳禅城网站设计wordpress 模板 导航
  • 网页设计网站的主题wordpress 插件 手机
  • 昆山网站制作公司wordpress主题定制
  • 沈阳做网站seoui设计技术培训培训班
  • 做平面什么网站好用天津室内设计公司排名
  • 做食品企业网站的费用网站首页排名突然没了
  • 建筑设计案例网站idea 网站开发
  • 产品展示类网站源码wordpress主题制作插件
  • 莱芜网站网站建设介绍家乡的网页设计代码
  • 设计素材网站情人节wordpress无法显示此页
  • 长沙php的网站建设公司wordpress 主题破解版
  • 网站怎么做脚注久久建筑网登录
  • 找人做任务网站上饶建设银行网站
  • 洛阳霞光网络建站搜索引擎网站推广法 怎么做
  • 网站竞价难做优化永州做网站公司
  • 山东省建设厅注册中心网站怎么查询在建工程
  • 做任务得得q币的网站西部数码网站备案查询
  • 合肥做网站的宁波网站推广怎样做
  • 做reference的网站icann官方网站
  • 网站建设公司诺玺网络如何建立公司的销售网站
  • 动易初级中学网站模板cms 6.8电脑版网站建设合同
  • 企业网站一定要花钱吗中国设计之家
  • 国内人做韩国网站一般都卖什么手续承德网站建设规划
  • 张家口网站建设价格网站改版的意义
  • 网站建设 美食站点开发公司消防未移交物业
  • 深圳做生鲜食材的网站叫什么网站问答平台推广方案
  • 牡丹江市营商环境建设监督局网站提供网站建设费用