首页 > 其他分享 >JS 将HTML页面转为PDF或者World 并下载

JS 将HTML页面转为PDF或者World 并下载

时间:2024-09-06 13:26:37浏览次数:4  
标签:canvas const HTML PDF JS html pdf World

html导出为PDF是先使用html2canvas转为图片,再将图片通过jspdf.js转为PDF

html导出为word是利用大佬的JS库,GitHub项目地址如下:https://github.com/huangbohang/export-word/tree/main

只涉及到前端的操作

使用操作如下

1 //JS引用
2 <script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
3 <script src="https://unpkg.com/[email protected]/dist/jspdf.umd.min.js"></script>
4 <script src="/JS/FileSaver.min.js"></script>
5 <script src="/Js/export-word.min.js"></script>

html代码

<div class="content">
            这是测试的html
        </div>

JS代码

//转为PDF
function printToPDF() { const element =document.querySelector('.content'); html2canvas(element,{dpi:800}).then((canvas) => { const imgData = canvas.toDataURL('image/png'); const pdf = new jspdf.jsPDF({ orientation: 'portrait', unit: 'px', format: [canvas.width, canvas.height] }); const imgProps= pdf.getImageProperties(imgData); const pdfWidth = pdf.internal.pageSize.getWidth(); const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width; pdf.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight); pdf.save('download.pdf'); $(".layui-btn").show(); layer.closeAll(); }); } //转为Word function htmlToWord(){ const wrap = document.querySelector('.content'); const config = { addStyle:true, // 是否导出样式,默认为true,此操作会将所有样式转换成行内样式导出 fileName:'测试文件', // 导出文件名 toImg:['.need-to-img','.bg-danger'], // 页面哪些部分需要转化成图片,例如echart图表之类 success(){ } // 完成之后回调,一般页面篇幅比较大,时间比较长 } exportWord(wrap,config) }

 

标签:canvas,const,HTML,PDF,JS,html,pdf,World
From: https://www.cnblogs.com/helloliu/p/18400042

相关文章

  • JSP酒店客房预订管理系统nadez(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,客房分类,客房信息,客房预订,客房入住,换房申请,退房结账技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoot,Spring技......
  • JSP酒店综合管理平台7ez9p--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,收银,客房信息,散客预订,团体预订,房间分类,换房信息,取消预订,散客结账,团体结账,交接信息,监控检测,系统提醒技术要求:开发语言:JSP前端使用:H......
  • 基于nodejs+vue大学校园公益回收平台设计与实现[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着高等教育的普及与校园生活的日益丰富,大学校园内产生的可回收物品及闲置资源日益增长。然而,传统的废弃物处理方式往往侧重于简单的丢弃或低效率的回收,这......
  • 基于nodejs+vue大学校园网订餐管理系统[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和高校校园生活的日益丰富,大学生对于便捷、高效的生活服务需求日益增长。传统的校园餐饮模式往往受限于时间、地点等因素,难以满足学......
  • 基于nodejs+vue大学校园网络综合服务平台[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和高校规模的不断扩大,大学校园内的信息交流与服务需求日益多样化与复杂化。传统的管理与服务模式已难以满足师生们高效、便捷的生活......
  • 基于nodejs+vue大学新生入学帮助系统[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着高等教育规模的不断扩大,每年有大量新生踏入大学校园,面对全新的环境、复杂的学业要求以及独立生活的挑战,他们往往感到迷茫与不安。大学不仅是知识学习的......
  • easyUI定区关联快递员js代码
    easyUI定区关联快递员js代码:<scripttype="text/javascript">$.fn.serializeJson=function(){varserializeObj={};vararray=this.serializeArray();varstr=this.serialize();......
  • AngularJS进阶(十五)Cookie ‘data‘ possibly not set or overflowed because it was
    Cookie ‘data’ possibly not set or overflowedbecause it was too large (5287 > 4096 bytes)!注:请点击此处进行充电!故事起源项目开发过程中遇到以上问题,刚开始以为只是个警告,没太在意。后来发现直接影响到了程序的执行效果。果断寻找解决方法。问题......
  • AngularJS基于模块化的MVC实现
    AngularJS基于模块化的MVC实现1<!DOCTYPEhtml>2<html>3<head>4<metacharset="UTF-8">5<title>AngularJS基于模块化的MVC实现</title>6<scripttype="text/javascript"src=".......
  • JSP就业系统的设计与实现kd92s(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,企业,招聘信息,投掷简历,课程信息,简历库,邀请信息,校园宣传会,报名信息,沟通信息开题报告内容一、选题背景与意义随着信息技术的快速发展和互联......