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

重庆市建设工程管理协会网站/天津做优化好的公司

重庆市建设工程管理协会网站,天津做优化好的公司,掀浪云网站建设,自己建购物网站电商项目中,经常会遇到导出为PDF的功能,最最简单的方式就是:window.print(),可以自动展示出当前页面的打印预览效果。 如果使用:window.print()实现打印,我们可以通过在浏览器控制台测试一下效果&#xff1…

电商项目中,经常会遇到导出为PDF的功能,最最简单的方式就是:window.print(),可以自动展示出当前页面的打印预览效果。

在这里插入图片描述
如果使用:window.print()实现打印,我们可以通过在浏览器控制台测试一下效果:
在这里插入图片描述
效果如下所示:
在这里插入图片描述
这种情况window.print()适用于全屏页面的,而非弹窗的形式,如果要只打印弹窗部分,则需要用其他的方式:

html2pdf实现导出html页面为pdf

1.npm install html2canvas jspdf --save——安装插件到package.json文件中的dependencies

html2canvasjspdf安装到package.json文件中的dependencies中,方便其他人通过npm install可以下载到本地的node_modules

2.在utlis文件夹中添加html2pdf.js文件,内容如下:

// 导出页面为PDF格式
import html2canvas from "html2canvas";
import JSPDF from "jspdf";
/**** elementName: 需要输出PDF的页面id* htmlTitle: 页面标题* currentTime:创建时间*/
export default function(elementName, htmlTitle, currentTime) {var element = document.getElementById(elementName)html2canvas(element, {logging: false}).then(function(canvas) {var pdf = new JSPDF("p", "mm", "a4") // A4纸,纵向var ctx = canvas.getContext("2d")var a4w = 190;var a4h = 257 // A4大小,210mm x 297mm,四边各保留20mm的边距var imgHeight = Math.floor(a4h * canvas.width / a4w) // 按A4显示比例换算一页图像的像素高度var renderedHeight = 0while (renderedHeight < canvas.height) {var page = document.createElement("canvas")page.width = canvas.widthpage.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 += imgHeightif (renderedHeight < canvas.height) { pdf.addPage() } // 如果后面还有内容,添加一个空页// delete page;}pdf.save(htmlTitle + currentTime)})
}

3.在需要的页面使用:

import ExportSavePdf from "@/utils/html2pdf";
export default{...//保存文件ExportSavePdf("pdfcontent", "对账单",timeFormat(new Date(), "YYYY-mm-dd"));
}

分析一下上面的三个参数:

  1. elementName:需要输出PDF的页面的id
  2. htmlTitle:导出的PDF的页面标题
  3. currentTime:导出的PDF的页面时间
    在这里插入图片描述
    第一个id就是页面中,需要导出部分的id;
    在这里插入图片描述
    第二个参数和第三个参数就是导出的pdf的标题部分组成:
    在这里插入图片描述
http://www.lbrq.cn/news/1325809.html

相关文章:

  • 劳动保障局瓯海劳务市场和做网站/seo做的比较牛的公司
  • php网站空间支持/志鸿优化设计官网
  • 成都网站建设116web/免费友情链接网页
  • 网站美食建设图片/网络营销推广外包平台
  • 保定网站seo服务/每天4元代发广告
  • wordpress 内部标签/网站seo推广营销
  • 做网站开发的步骤/搜狗网页版
  • 药品加工厂做网站/南宁seo专员
  • 网站建设服务费/百度关键字优化价格
  • 陕西哪些公司做企业网站/百度推广开户流程
  • 如何建设网站的外链/百度推广运营
  • 网站怎么做cp备案号/建站模板哪个好
  • 深圳做网站在去那备案/谷歌seo价格
  • 腾讯云企业官网建设/泰安seo网络公司
  • 营销网络图/杭州谷歌seo公司
  • 怎么做bs网站/交换神器
  • 做网站要签合同吗/新东方英语培训机构官网
  • 做设计一般用什么素材网站/软文范例500字
  • 自己黑自己做的网站/搜索到的相关信息
  • php做音乐网站/优化关键词有哪些方法
  • 代做毕业设计比较靠谱的网站/今天重大新闻头条
  • 学做网站网/2022年列入传销组织最新骗法
  • 做gif表情包的网站/网络营销师证
  • 山东淄博网站建设的公司/地方网站建设
  • 发稿是什么意思/谷歌优化方法
  • 建设银行深分行圳招聘网站/揭阳seo推广公司
  • 网站建设项目wbs/百度搜索引擎营销
  • 运营托管公司/成都seo服务
  • 重庆手机模板建站/郑州百度关键词seo
  • 石家庄做外贸网站/百度关键词推广怎么收费
  • 探索:Uniapp 安卓热更新
  • 【Shell脚本自动化编写——报警邮件,检查磁盘,web服务检测】
  • 大模型结构比较
  • LaTeX 复杂图形绘制教程:从基础到进阶
  • 大气波导中的抛物线方程建模(下):数值求解
  • 企业微信API接口发消息实战:从0到1的技术突破之旅