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

电子商务网站建设编码好搜网

电子商务网站建设编码,好搜网,外贸企业网站评价案例,网页制作与网站建设1. 功能实现方案 1.html转换成canvas后生成图片导出pdf(本文选用) html转canvas插件:html2canvas是一款将HTML代码转换成Canvas的插件;canvas生成pdf:jsPDF是一个使用Javascript语言生成PDF的开源库 2.HTML代码转出…

1. 功能实现方案

1.html转换成canvas后生成图片导出pdf(本文选用)

  • html转canvas插件:html2canvas是一款将HTML代码转换成Canvas的插件;
  • canvas生成pdf:jsPDF是一个使用Javascript语言生成PDF的开源库

2.HTML代码转出pdf

wkhtmltopdf是一款将HTML代码转换成pdf的插件,表格场景使用居多

2.技术实现(基于html2canvas和jsPDF实现)

1.安装插件

npm install html2canvas
npm install jspdf

2.封装函数

这里函数参考了网上多种,最后自己选择了这种并发并修改了部分内容,实现可以传入两个参数来指定要导出为pdf的文件

src/utils/topdf.js

import html2Canvas from "html2canvas";
import JsPDF from "jspdf";export default {install(Vue, options) {console.log(options);// vue原型上挂载getPdf方法实现转换功能// 参数:(dom元素,导出文件的文件名)Vue.prototype.getPdf = function (dom, title) {html2Canvas(document.querySelector(dom), {allowTaint: true,}).then(function (canvas) {let contentWidth = canvas.width;let contentHeight = canvas.height;let pageHeight = (contentWidth / 592.28) * 841.89;let leftHeight = contentHeight;let position = 0;let imgWidth = 595.28;let imgHeight = (592.28 / contentWidth) * contentHeight;let pageData = canvas.toDataURL("image/jpeg", 1.0);let PDF = new JsPDF("", "pt", "a4");if (leftHeight < pageHeight) {PDF.addImage(pageData, "JPEG", 0, 0, imgWidth, imgHeight);} else {while (leftHeight > 0) {PDF.addImage(pageData, "JPEG", 0, position, imgWidth, imgHeight);leftHeight -= pageHeight;position -= 841.89;if (leftHeight > 0) {PDF.addPage();}}}PDF.save(title + ".pdf");});};},
};

3.全局注册

在main.js中导入并注册

//全局注册 打印pdf:
import htmlToPdf from "./utils/topdf";
Vue.use(htmlToPdf);

4.使用

解释:1.为需要打印的dom元素添加类名或者id名以方便获取dom

​ 2.给打印按钮添加点击事件

​ 2.1 点击事件触发全局挂载的getPdf方法

​ 2.2 参数为 (dom元素,导出pdf的文件名)

<button @click="getPdf('.pdf', 'file2')">导出pdf</button><div class="pdf"><p v-for="(item, index) in 50" :key="index">{{ item }}123123121322313212313132123</p></div>

5. 问题

会出现衔接问题

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hsxiY8Ie-1677647378317)(C:\Users\28132\AppData\Roaming\Typora\typora-user-images\1677646897722.png)]

防止截断可以参考这个博客https://www.cnblogs.com/jimyking/p/17101947.html

等有时间再自己总结

http://www.hrbkazy.com/news/48052.html

相关文章:

  • 制作相册的软件seo自学教程seo免费教程
  • 诸暨网站制作设计广州seo网络优化公司
  • 长沙的科技公司seo百度关键词排名
  • 万能站工具的企业网站系统成人电脑基础培训班
  • 长春网站建设大概需要多少钱百度公司招聘岗位
  • wordpress更换网站培训方案怎么做
  • 如何做阿里巴巴的网站域名查询 站长查询
  • .net网站服务器sem竞价广告
  • 做外贸网站的效果怎么样网络推广技巧
  • 网站内部服务器错误免费建站的网站有哪些
  • 网站可信认证湖南中高风险地区
  • 网站建设项目有哪些搜索引擎的优化方法有哪些
  • 网站页面开发流程东莞网络营销渠道
  • 网站首页设计注意vi设计公司
  • 广州有网站建设学校快速申请免费个人网站
  • 北京做网站好的公司品牌全案策划
  • 阿里巴巴建设电子商务网站目的定制开发公司
  • seo是做网站源码还是什么google推广一年3万的效果
  • wordpress群晖插件直通车关键词优化口诀
  • 三明建设网站口碑营销方案
  • 版面独特的网站市场调研报告模板范文
  • 做网站前端互联网营销怎么做
  • 网站设计基本流程第一步宁夏百度推广代理商
  • 程序员自己做网站赚钱网站关键字优化价格
  • 网站设计与开发怎么做成人短期电脑培训班学费
  • 沧州网站建设方案咨询软文写作平台
  • 淮北论坛房产当阳seo外包
  • 平面设计公司网站拉新任务接单放单平台
  • 网站建设做哪个科目b2b外贸接单平台
  • 域名推荐网站搜索关键词的方法