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

这篇具有很好参考价值的文章主要介绍了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(百度)
代码使用:文章来源地址https://www.toymoban.com/news/detail-654740.html

 $('.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");
},

到了这里,关于js实现将文本转PDF格式并下载到本地的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • JavaScript实现访问本地文件夹

    这个功能放在之前是不可能实现的,因为考虑到用户的隐私,但是最近有一个新的api可以做到这一点。下面来进行一个简单的功能实现。 我们调用showDirectoryPicker这个函数就可以实现一个选择文件夹的功能。 options 可选 选项对象,包含以下属性: id 通过指定 ID,浏览器能够记

    2024年02月04日
    浏览(47)
  • RSAUtil 前端 JavaScript JSEncrypt 实现 RSA (长文本)加密解密

    文章归档:https://www.yuque.com/u27599042/coding_star/cl4dl599pdmtllw1 import JSEncrypt from ‘jsencrypt’ import {stringIsNull} from “@/utils/string_utils.js”:https://www.yuque.com/u27599042/coding_star/slncupw7un3ce7cb import {isNumber} from “@/utils/number_utils.js”:https://www.yuque.com/u27599042/coding_star/tuwmm3ghf5lgo4bw 注意: 此方

    2024年04月22日
    浏览(69)
  • JavaScript深拷贝(js深拷贝,JavaScript递归函数,实现深拷贝)

    简述:JavaScript的深拷贝和浅拷贝大家都比较熟悉,今天来分享下深拷贝,就是使用该函数时,会复制拷贝一份该数据,修改该数据属性,不会改变原有数据,就是把复制的对象所引用的对象全都复制了一遍,具体实现如下; 1、定义拷贝对象; 2、定义递归函数deepClone(),实现

    2024年02月15日
    浏览(60)
  • [HTML]Web前端开发技术2(HTML5、CSS3、JavaScript )格式化文本标记,定义列表,<blockquote>,definition description,ruby——喵喵画网页

    希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要! 目录 前言 格式化文字与段落 Web页面设计原则 向Web页面添加文字信息 格式化文本标记 标题字标记 添加空格与特

    2024年02月05日
    浏览(94)
  • vue2 使用pdf.js 实现pdf预览,并可复制文本

            需求:pdf预览,并且可以选中pdf的内容进行复制。                 在ruoyi的vue前端项目中用到,参考了网上不少文章,因为大部分没给具体的pdf.js版本,导致运行过程中报各种api 错误,经过尝试以下版本可用,故记录一下:         安装依赖:         vue 页面

    2024年01月19日
    浏览(54)
  • 用JavaScript实现文件的上传与下载

    一、文件上传 1、普通文件上传 JavaScript 可以使用表单提交来实现文件上传。首先,在 HTML 中创建一个文件输入框:  然后,在 JavaScript 中获取文件输入框的引用,并在其上设置事件监听器,如下所示:   在事件监听器中,可以使用 fileInput.files[0] 属性获取选择的文件,然后

    2024年02月06日
    浏览(92)
  • 使用JavaScript实现保存文件,用户可以自己选择本地路径

    但是,此API目前仍处于实验阶段,可能并不在所有浏览器中都得到完全支持。 浏览器的权限是很低的,是不能与操作系统实现交互,只有少量的api可以与操作系统交互,例如文件上传。但是,软件是有很高的权限的,例如,迅雷下载就可以轻松实现,下载到指定目录。 但是

    2024年02月03日
    浏览(53)
  • HTML + JavaScript 实现网页录制音频与下载

    在这个数字化的时代,网页端的音频处理能力已经成为一个非常热门的需求。本文将详细介绍如何利用 getUserMedia 和 MediaRecorder 这两个强大的 API,实现网页端音频的录制、处理和播放等功能。 getUserMedia getUserMedia 和 MediaRecorder 是 HTML5 中两个非常重要的 API,用于访问设备媒体

    2024年02月03日
    浏览(37)
  • 原生JavaScript实现本地存储(localStorage)和会话存储(sessionStorage)

    目录 一、简单介绍 二、localStorage本地存储 三、sessionStorage会话存储 本地存储和会话存储的目的,是将所输入的文件存入到浏览器中,在需要的时候,直接调用,但是本地存储和会话存储有着一定的区别,本地存储,在不主动删除的情况下,会一直保留在浏览器中,会话存储是

    2023年04月08日
    浏览(44)
  • 【JavaScript】原生js实现省市区联动效果

    😉博主:初映CY的前说(前端领域) ,📒本文核心:用原生js实现省市区联动 【前言】今日在复习省市县三级联动的时候,有点忘了原生的js应该怎么样处理省市县的联动,特此写下来再次复习下 1.获取相对应的DOM对象 2.写省市县接口获取到接口信息 3.写下change事件,有变化时调

    2023年04月24日
    浏览(50)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包