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

分类目录网站怎么做阿里做网站怎么做

分类目录网站怎么做,阿里做网站怎么做,汕头品牌建设公司,网站关键词几个一、安装依赖 首先,需要安装 html2canvas 和 jsPDF 库。 npm install html2canvas jspdf二、创建公共方法引入 在utils文件夹下创建两个文件分别为pdfExport.js和printPDF.js,代码如下: pdfExport.js import html2canvas from html2canv…

一、安装依赖

首先,需要安装 html2canvas 和 jsPDF 库。

npm install html2canvas jspdf

二、创建公共方法+引入

在utils文件夹下创建两个文件分别为pdfExport.js和printPDF.js,代码如下:

  • pdfExport.js
import html2canvas from 'html2canvas';
import jsPDF from 'jspdf';export const exportToPDF = async (elementId) => {console.log('Exporting PDF...');const content = document.getElementById(elementId);if (!content) {console.error(`Element with id ${elementId} not found.`);return;}try {const canvas = await html2canvas(content);const imgData = canvas.toDataURL('image/png');const pdf = new jsPDF({orientation: 'portrait',unit: 'mm',format: 'a4'});// 获取页面尺寸const pageWidth = pdf.internal.pageSize.getWidth();const pageHeight = pdf.internal.pageSize.getHeight();// 计算图片宽高比const imgWidth = pageWidth;const imgHeight = (canvas.height * imgWidth) / canvas.width;// 分页添加图片let position = 0;while (position < imgHeight) {pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);position += pageHeight;if (position < imgHeight) {pdf.addPage();}}// 将 PDF 转换为 Blob 对象const blob = pdf.output('blob');console.log('PDF Blob generated:', blob); // 打印生成的 Blob 对象信息return blob; // 返回生成的 Blob 对象,供后续使用} catch (error) {console.error('导出 PDF 失败:', error);throw error; // 抛出异常供调用者处理}
};
  • printPDF.js
export const printPDF = (blob) => {try {const url = URL.createObjectURL(blob);console.log('PDF Blob URL:', url); // 打印生成的 Blob URL// 创建一个隐藏的 iframeconst iframe = document.createElement('iframe');iframe.style.position = 'fixed';iframe.style.right = '0';iframe.style.bottom = '0';iframe.style.width = '0';iframe.style.height = '0';iframe.style.border = 'none';document.body.appendChild(iframe);// 设置 iframe 的 src 属性为 PDF 文件的 URLiframe.src = url;// 加载完成在进行打印操作,确保 PDF 加载完成iframe.onload = function() {iframe.contentWindow.focus();iframe.contentWindow.print();// 打印完成后移除 iframe 和释放 URLsetTimeout(() => {// document.body.removeChild(iframe);URL.revokeObjectURL(url);}, 500)};} catch (error) {console.error('打印 PDF 出错:', error);throw error;}
};

创建好后在main.js中引入方法

import { exportToPDF } from '../utils/pdfExport';
Vue.prototype.$exportToPDF = exportToPDF;import { printPDF } from '../utils/printPDF';
Vue.prototype.$printPDF = printPDF;

三、使用

  • html
<template><div><!-- 打印按钮 --><span class="mr20" @click="printPageFn">打印页面</span><!-- 需要打印的页面内容,可以是任意div,设置id就可以 --><router-view id="contentToExport"/></div>
</template>
  • Javascript
// 打印页面
printPageFn(){//注意传入的id是否与页面设置的id一致this.$exportToPDF('contentToExport').then((blob) => {this.$printPDF(blob);});
},
http://www.yayakq.cn/news/790191/

相关文章:

  • 免费网站建设链接很长 知呼网站开发 文件架构图
  • 做外贸网站基本流程深圳北斗部标平台网站建设
  • 有关网站开发的国外书籍网站建设管理制度实施方案
  • 建设银行网站查询不显示整存争取金额百度云用流量做网站
  • 微商城微网站开发wordpress < 3.6.1
  • 阜宁企业做网站多少钱网页设计图片如何显示
  • 网站密度网站数据库怎么备份
  • 吉林手机版建站系统开发网页制作公司的小客户有哪些
  • 做配资 怎么在网站联系客户wordpress架设专题类网站
  • 厦门专业做网站 厦门做网站的公司 厦门做服饰网站网络违法犯罪举报网站
  • 微信网站怎么做的好名字吗医疗器械展会2023列表
  • 上海网站制作建设wordpress在哪里修改
  • 做qq图片的网站网页设计实验报告用什么格式
  • 做混剪素材下载网站营销型网站建设公司平台
  • 自己做网站原始代码苏州建网站的公司平台收费标准
  • 如何增加网站的访问量中国建设银行网站用户是什么
  • 北京城乡和住房建设部网站设计师素材
  • 专门做搜索种子的网站有哪些使用php做的学校网站吗
  • 年度网站信息化建设工作计划广告设计app哪个好用
  • 中国建设职业注册中心网站企业运营模式有哪些
  • 怎么在土巴兔做网站百度app下载并安装最新版
  • 建网站流程 知乎seo海外运营
  • 淘宝联盟怎样做新增网站推广专业 网站设计公司价格
  • 秦皇岛的网站建设公司企业网站建设目的意义
  • 网站建设与制作段考试题html设计简单校园网页代码
  • 佛山做网站公司有哪些秦皇岛建设规划
  • 创业做app哪个网站好商城是什么平台
  • 全球建筑网站qq推广平台
  • 网址大全网站wordpress 修改文章id
  • 高端网站建设谷美wordpress 歌