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

html页面使用jspdf预览及下载pdf模板

1,heml页面引入js
<!-- 引入PDF生成库 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script><script src="/js/jspdf.min.js"></script>//为本地中文字体base64文件路径2,
下载ttf格式字体,在网站File To Base64 Encoder | Convert any file | GiftOfSpeed 中转换为base编码"AAEAAAARAQAABAA"定义到js文件jspdf.min.js中内容:
const simheiBase64 = "data:application/font-ttf;crset=utf-8;base64,AAEAAAARAQAABAA";

3,html页面调用:

// 修改查看回执按钮
actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="viewReceipt(\'' + row.noticeId + '\', \'' + row.noticeTitle + '\', \'' + row.createBy + '\', \'' + row.createTime + '\')"><i class="fa fa-eye"></i>查看回执</a> ');
// 查看回执函数
function viewReceipt(noticeId, title, creator, createTime) {const { jsPDF } = window.jspdf;const doc = new jsPDF();// 假设你已将 SimHei.ttf 转换为 Base64 并赋值给 simheiBase64doc.addFont(simheiBase64, 'SimHei', 'normal');doc.setFont('SimHei');// 添加文本doc.setFontSize(20);doc.text('公告回执', 105, 20, null, null, 'center');doc.setFontSize(12);doc.text('公告ID: ' + noticeId, 20, 40);doc.text('公告标题: ' + title, 20, 50);doc.text('创建者: ' + creator, 20, 60);doc.text('创建时间: ' + createTime, 20, 70);doc.text('生成时间: ' + new Date().toLocaleString(), 20, 80);// 生成 PDF 数据 URLconst pdfData = doc.output('datauristring');// 在弹窗中显示 PDFdocument.getElementById('pdfFrame').src = pdfData;$('#pdfModal').modal('show');
}
http://www.dtcms.com/a/318805.html

相关文章:

  • 使用驱动移除内核回调,
  • golang开源库之Syncthing
  • Unity URP渲染管线动态修改材质球状态
  • 基于 HT 引擎实现 3D 智慧物流转运中心一体化管控系统
  • 【CS创世SD NAND征文】小型夜灯为何需要存储芯片?从基础照明到智能存储的升级密码
  • 生成式AI时代,Data+AI下一代数智平台建设指南
  • EP04:【DL 第二弹】张量的线性代数运算
  • 内网穿透原理和部署教程
  • 京东关键字搜索商品列表接口开发实战:从参数优化到分布式调用
  • localforage的数据仓库、实例、storeName和name的概念和区别
  • VBA之Word应用第四章第一节:段落集合Paragraphs对象(一)
  • mysql全屏终端全量、部分备份、恢复脚本
  • 累加和校验原理与FPGA实现
  • 躺平发育小游戏微信抖音流量主小程序开源
  • 自建纯竞拍系统小程序需准备的事项
  • uniapp/uniappx实现图片或视频文件选择时同步告知权限申请目的解决华为等应用市场上架审核问题
  • TSMaster-C小程序使用
  • uni-app X能成为下一个Flutter吗?
  • Dify 从入门到精通(第 20/100 篇):Dify 的自动化测试与 CI/CD
  • MyBatis-Plus Service 接口:如何在 MyBatis-Plus 中实现业务逻辑层??
  • 阿里云部署若依后,浏览器能正常访问,但是apifox和小程序访问后报错链接被重置
  • [失败记录] 使用HBuilderX创建的uniapp vue3项目添加tailwindcss3的完整过程
  • [无需 Mac] 使用 GitHub Actions 构建 iOS 应用
  • vue3 el-select 加载内容后 触发事件
  • 「耘•学社」耘少年第五期学能突破导师制领袖特训营,圆满落幕
  • C++与SparkAI实战:高效应用案例
  • Android-Kotlin基础(Jetpack②-Data Binding)
  • 国产化Excel处理组件Spire.XLS教程:使用 C# 将 DataTable 导出为 Excel 文件
  • 嵌入式C语言编程:策略模式、状态模式和状态机的应用
  • 东莞立晟精密硅胶科技有限公司将携重磅产品亮相 AUTO TECH China 2025 广州国际汽车技术展