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

潍坊百度网站优化wordpress博客dux主题

潍坊百度网站优化,wordpress博客dux主题,网建设门户网站,网站 快照 更新慢数据量太大使用dom》canvas》image》pdf.addimage方法弊端是canvas超出 浏览器承受像素会图片损害#xff0c;只能将其切割转成小块的canvas,每一次调用html2canvas等待时间都很长累积时间更长#xff0c;虽然最终可以做到抽取最小dom节点转canvas拼接数据#xff0c;但是死…数据量太大使用dom》canvas》image》pdf.addimage方法弊端是canvas超出 浏览器承受像素会图片损害只能将其切割转成小块的canvas,每一次调用html2canvas等待时间都很长累积时间更长虽然最终可以做到抽取最小dom节点转canvas拼接数据但是死卡 jspdf提供了不需要操作dom的方法 Global - Documentation 使用line方法和text方法可以通过传递线坐标和文字位置在pdf页上画线和文字组成表格 function getStrLen(cItem, strLen) {let str typeof cItem string || typeof cItem number ? cItem : nulllet len Math.ceil(str.length / strLen)if (len 1) {return str}str String(str)let strn for (let i 0; i len; i) {strn strn str.substring(i * strLen, (i 1) * strLen) \n}return strn }async function downPDF(list, columns) {// 1in 2.54cm 25.4 mm 72pt 6pclet tablePdf null //绘制表格的参数let cardTop 10, cardLeft 7, textLeft 9, textTop 14, oneColumnNum 35, oneRowNum 7, oneCellWidth 28, oneCellHeight 8, oneStrLen 5, pdfWidth 203, pdfHeight 290, strLen 8let endPageNum 0 //表格数据的整理 //整理格式成一个二维数组第一层以列为单个元素元素是整列的值组成的数组let testList columns[0].childrenlet propList testList.map((item) {return { prop: item.props.prop, label: item.props.label }})let dataList []propList.forEach((item, index) {let cArr []cArr.push(item.label)list.forEach((cItem, cIndex) {cArr.push(cItem[item.prop])})dataList.push(cArr)})console.log(dataList)//处理好表格数据的二维数组配置pdf对象tablePdf new jsPDF(p, mm, a4); //解决中文乱码tablePdf.addFont(/fonts/SourceHanSansCN-Normal.ttf, SourceHanSans, normal)tablePdf.setFont(SourceHanSans);//1doc中设置font: SourceHanSans // 2style中设置tablePdf.setLineWidth(0.1)tablePdf.setFontSize(8)tablePdf.line(cardLeft, cardTop, pdfWidth, cardTop);let columnPages Math.ceil(dataList.length / oneRowNum) 1let rowPages Math.ceil(dataList[0].length / oneColumnNum) 1let currentData []for (let i 1; i columnPages; i) { //横向分页let currentColumnData dataList.slice((i - 1) * oneRowNum, i * oneRowNum) //纵向分页for (let rowInddex 1; rowInddex rowPages; rowInddex) {currentData currentColumnData.map((item, index) {return item.slice((rowInddex - 1) * oneColumnNum, rowInddex * oneColumnNum)})currentData.forEach((item, index) {item.forEach((cItem, cIndex) {cItem getStrLen(cItem, strLen)//填文字超过长度换行tablePdf.text(cItem, textLeft index * oneCellWidth, textTop cIndex * oneCellHeight, left)//画一次横线if (index currentData.length - 1) {tablePdf.line(cardLeft, cardTop cIndex * oneCellHeight, pdfWidth, cardTop cIndex * oneCellHeight);//画最后一条横线if (cIndex item.length - 1) {tablePdf.line(cardLeft, cardTop (cIndex 1) * oneCellHeight, pdfWidth, cardTop (cIndex 1) * oneCellHeight);endPageNum item.lengthlet ks (pdfHeight - cardTop) / oneColumnNumfor (let l 0; l oneRowNum 1; l) {tablePdf.line(cardLeft l * oneCellWidth, cardTop, cardLeft l * oneCellWidth, endPageNum * ks cardTop);}}}})});if (rowInddex 1 ! rowPages) {tablePdf.addPage();}}if (i 1 ! columnPages) {tablePdf.addPage();}}tablePdf.save(dd.pdf) }数组datalist结构 效果
http://www.w-s-a.com/news/70326/

相关文章:

  • 巴中哪里做网站推销网站的方法
  • wordpress建站动画网站宣传的手段有哪些?(写出五种以上)
  • 做么网站有黄医疗机构网站备案
  • 企业年金是1比3还是1比4北京厦门网站优化
  • 政务信息网站建设工作方案云南建设工程质量监督网站
  • 如何做一份企业网站免费的短视频素材库
  • 云脑网络科技网站建设咸阳软件开发
  • seo对网站优化网站更换程序
  • 网站建设放什么科目中小学生在线做试卷的网站6
  • 网站建设推广公司排名绥化建设局网站
  • 凡科做的网站为什么打不开苏州行业网站建设
  • 南昌定制网站开发费用微信小商店官网入口
  • 深圳网站建设费用找人做的网站怎么看ftp
  • 做网站cookie传值dedecms网站后台
  • 温州网站推广网站建设要学会什么
  • c 网站开发框架品牌策划方案范文
  • 儿童摄影作品网站多元网络兰州网站建设
  • 电脑上不了建设厅网站常德网站建设费用
  • 做单页免费模板网站最新办公室装修风格效果图
  • 中国铁路建设投资公司网站熊学军想开网站建设公司
  • 优化一个网站多少钱网站开发北京
  • html教学关键词优化价格
  • 黄冈论坛网站有哪些给wordpress首页添加公告栏
  • 初中做数学题的网站做淘宝必备网站
  • 买拆车件上什么网站谁有那种手机网站
  • 一家专做有机蔬菜的网站万户网络是干嘛的
  • 十堰百度网站建设八宝山做网站公司
  • 地区电商网站系统建筑施工图纸培训班
  • 网站外包维护一年多少钱医院网站 功能
  • 电子商务市场的发展前景seo推广平台服务