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

js实现将文本转PDF格式并下载到本地

html里面需要引入jspdf.umd.min.js和FileSaver.js
jspdf.umd.min.js:https://www.npmjs.com/package/jspdf
FileSaver.js:https://download.csdn.net/download/weixin_45791806/87272893?spm=1001.2014.3001.5503
同时项目的根部目录也需要引入SimHei.ttf:https://www.baidu.com/s?wd=SimHei.ttf(百度)
代码使用:

 $('.surplus-btn').click(function () {// 调用函数并传入文本内容和页面尺寸const textContent = '文本内容';convertTextToPDF(textContent);});/**PDF**/convertTextToPDF: function (text) {// 创建一个新的 jsPDF 实例const { jsPDF } = window.jspdf;const doc = new jsPDF();// 设置字体为 doc.addFont('/SimHei.ttf', 'simhei', 'normal');doc.setFont("simhei");// 设置字体大小doc.setFontSize(12);// 将文本分割成适应页面大小的多个段落const paragraphs = doc.splitTextToSize(text, doc.internal.pageSize.getWidth() - 20);// 将段落逐个添加到 PDF 中let y = 10;paragraphs.forEach((paragraph) => {// 检查当前页面是否还有足够的空间容纳段落if (y + 10 > doc.internal.pageSize.getHeight()) {// 如果没有足够空间,添加新页面doc.addPage();y = 10; // 重置 y 坐标}doc.text(paragraph, 10, y);y += 10;});// 保存 PDF 文件doc.save('文档标题' + ".pdf");
},
http://www.lryc.cn/news/126595.html

相关文章:

  • Servlet+JDBC实战开发书店项目讲解第四篇:登录实现
  • HarmonyOS NEXT新能力,一站式高效开发HarmonyOS应用
  • 【Java从0到1学习】09 正则表达式
  • log4j:WARN No appenders could be found for logger问题
  • 【Java】批量生成条形码-itextpdf
  • SpringBoot登录、退出、获取用户信息的session处理
  • 【软件测试】随笔系统测试报告
  • vue中使用html2canvas+jsPDF实现pdf的导出
  • Linux学习之firewallD
  • 【JS学习】Object.assign 用法介绍
  • 【uni-app报错】获取用户收货地址uni.chooseAddress()报错问题
  • 机器学习、cv、nlp的一些前置知识
  • Steam 灵感的游戏卡悬停效果
  • [Openwrt]一步一步搭建MT7981A uboot、atf、openwrt-21.02开发环境操作说明
  • Unity C# 之 Azure 微软SSML语音合成TTS流式获取音频数据以及表情嘴型 Animation 的简单整理
  • 安全学习DAY16_信息打点-CDN绕过
  • genism word2vec方法
  • vue3自定义样式-路由-axios拦截器
  • 【mysql】事务的四种特性的理解
  • C++中List的实现
  • ElementUI 树形表格的使用以及表单嵌套树形表格的校验问题等汇总
  • 解决“Unable to start embedded Tomcat“错误的完整指南
  • JVS开源基础框架:平台基本信息介绍
  • C++ - max_element
  • 聚隆转债上市价格预测
  • pytest自动生成测试类 demo
  • 服务器卡顿了该如何处理
  • 常量对象 只能调用 常成员函数
  • Progressive-Hint Prompting Improves Reasoning in Large Language Models
  • mysql中INSERT INTO ... ON DUPLICATE KEY UPDATE的用法,以及与REPLACE INTO 语句用法的异同