vue3 ts 导出PDF jsPDF

这篇具有很好参考价值的文章主要介绍了vue3 ts 导出PDF jsPDF。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

jsPDF 是一个基于 HTML5 的客户端解决方案,用于生成各种用途的 PDF 文档。

1、安装:npm install jspdf

                 npm install --save html2canvas

2、引入:import jsPDF from "jspdf" 

                import html2canvas from 'html2canvas'

3、使用文章来源地址https://www.toymoban.com/news/detail-744318.html



<template>
  <div>
    <a-button @click="handelChangeTime">pdf </a-button>
  </div>
  <div ref="chartRef">
    <h2>这里面添加需要导出的内容</h2>
    <h3>支持表格、文字、图片、</h3>
    <h3>原理就是将html生成为canvas图片,然后使用jsPDF将图片转为pdf</h3>
  </div>
</template>

<script lang="ts" setup>
import { ref } from 'vue'
import html2canvas from 'html2canvas'
import jsPDF from 'jspdf'

  // 获取需要转换为PDF的元素 ref
const chartRef = ref()
const handelChangeTime = () => {
  
  // 将元素转换为canvas对象
  html2canvas(chartRef.value).then((canvas) => {
    // 将canvas对象转换为图像
    const imgData = canvas.toDataURL('image/png')
    const pdf = new jsPDF()
    const imgProps = pdf.getImageProperties(imgData)
    const pdfWidth = pdf.internal.pageSize.getWidth()
    const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width
    // 将图像添加到PDF文件中
    pdf.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight)
       // 保存PDF文件
    pdf.save('exported.pdf')
  })
}
</script>

<style lang="less" scoped></style>

到了这里,关于vue3 ts 导出PDF jsPDF的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Html转PDF,前端JS实现Html页面导出PDF(html2canvas+jspdf)

    一、背景介绍 ​ 当我们在不想改变后端代码的同时想是纯html页面导出PDF,那么(html2canvas+jspdf)就是无疑最好的选择,导出时它不占用我们服务器的资源,而是由用户本地自行执行js文件下载PDF,不占用我们系统的带宽,所以这无非是最好的选择方式。 二、疑问 1、为什么要

    2024年01月23日
    浏览(56)
  • Vue基于html2canvas和jspdf生成pdf文件,解决jspdf中文乱码及自动换行等问题

    在做项目时有这么一个需求,需要将当前页面指定区域的内容导出pdf到本地。借助了两个插件分别是html2canvas.js和pdf.js来实现。使用过程中遇到的问题及解决方法 解决一些问题: 导出按A4纸大小排列 预留页面边距的问题 内容过多自动分页的问题 直接使用jspdf中文乱码的问题

    2024年01月25日
    浏览(60)
  • (vue)Vue项目中使用jsPDF和html2canvas生成PDF

    效果: 1.:安装jsPDF和html2canvas 2.在需要生成PDF文档的组件中引入jsPDF和html2canvas 解决参考: 1.https://www.jianshu.com/p/31d37bef539b 2.https://www.php.cn/faq/556634.html 3.https://blog.csdn.net/m0_54967474/article/details/123820384

    2024年02月10日
    浏览(53)
  • 批量打印-----jsPDF将图片转为pdf,并合并pdf

    安装依赖并引入 注意一、 使用jspdf将图片(jpg/jpeg/png/bmp)转pdf(记为pdfA),得到的pdf(pdfA)和需要合并的pdf(记为pdfB)类型不一致,需要将pdfA转为pdfB类型,才能合并,使用arraybuffer转,具体如下 注意二、 jspdf 可转pdf的图片类型有jpg、jpeg、png、bpm, 不支持 tif 和 tiff 图片类

    2024年02月13日
    浏览(45)
  • JS将图片转pdf,jspdf的使用

    Hi I’m Shendi 最近做转换工具,需要将图片转pdf,这里记录下来 JS将图片转pdf,jspdf的使用 A library to generate PDFs in JavaScript. 一个用JavaScript生成PDF的库。 在网站或github下载 https://parall.ax/products/jspdf https://github.com/parallax/jsPDF 解压后在 在页面内引入 dist 下的 jspdf.umd.min.js 文件 官方

    2024年02月12日
    浏览(33)
  • 【jspdf】前端html生成pdf的两种办法 以及 引入中文字体

    1、使用canvas把html生成图片,然后使用jspdf生成pdf。优点:生成的pdf 样式还原度极高,缺点:图片形式的pdf无法编辑 2、直接使用jspdf的html方法直接把html生成pdf。优点:可编辑,缺点:只是把文本内容搂出来生成pdf,也就是说样式基本无,而且jspdf不支持中文字体的,如果有中

    2024年02月10日
    浏览(45)
  • 前端生成pdf之html2canvas+jsPDF,以及解决图片不显示bug

    开发背景: 需要给页面中相应的内容生成pdf,查找文档后发现要用到两个插件。html2canvas 以及 jsPDF html2canvas 给dom结构转化为canvas,然后生成各种类型图片 jsPDF 把canvas 生成的图片url 转化为pdf 参数 image:表示要插入的图片资源,可以是图片文件的路径或者base64编码字符串。

    2024年02月02日
    浏览(52)
  • vue前端实现将页面显示内容生成pdf文件的几种方法,html2canvas、dom-to-image、jspdf(带分页)基本使用以及介绍

    实际开发需求:vue项目中,根据数据结构生成echarts图表组件,生成带有样式的图表以后,点击下载按钮,把图表以pdf格式的文件下载到本地 实现思路:将vue界面的echarts组件生成图片,然后使用插件将生成的图片放入pdf中,再实现pdf文件的下载 涉及框架以及插件:vue、echar

    2024年01月25日
    浏览(48)
  • 纯前端--原生js将html页面变成pdf文件(html2canvas+jsPDF)

    1、将文档放在本地,用原生js进行引用和使用。 ① 新建一个名为 html2canvas.min.js 的文件,并且将线上的内容进行复制。 ② 引入 js 文件: 2、使用 npm 进行安装使用: 待续。。。 github 中文网站 CDN Jspdf.es.js:ES 2015 模块格式。 Jspdf.umd.js:UMD模块格式,用于 AMD 或脚本标签加载

    2024年02月08日
    浏览(57)
  • html2Canvas+jsPDF 下载PDF 遇到跨域的对象存储的图片无法显示

        一、问题原因  对象存储的域名和你网址的域名不一样,此时用Canvas相关插件 将DOM元素转化为PDF,就会出现跨域错误。 二、解决办法  两步 1. 图片元素上设置属性  crossorigin=\\\"anonymous\\\"  支持原生img和eleme组件  2. 存储桶设置资源跨域访问 阿里腾讯云为例:↓ 阿里云OS

    2024年02月15日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包