vue-cli 根据文字生成pdf格式文件 jsPDF

1.安装jspdf

npm install jspdf --save

 2.下载ttf格式文件

也可以用C:\Windows\Fonts下的字体文件,反正调一个需要的ttf字体文件就行,但有的字体存在部分字体乱码现象

微软雅黑ttf下载地址:

FontsMarket.com - Download Microsoft YaHei font for FREE

3.将ttf格式文件转为js格式

在线的网站,font-style选择normal

rawgit.com/MrRio/jsPDF/master/fontconverter/fontconverter.html

4.拷贝生成js文件里的字符串内容到自己的js文件

新建一个js文件:

export function addfont(pdf) {var font = ''// 粘贴的内容pdf.addFileToVFS('yahei', font) // 这里填一个字体文件注册名称return true;}

5.在使用pdf导出的vue里引入创建的js

import { addfont  } from '../../../assets/custom-theme/fonts/font2'
exportFile(command) {// 创建jsPDF实例// eslint-disable-next-line new-capconst doc = new jsPDF()// 使用之前创建的js里的方法,会将字体文件添加到jsPDF实例中addfont(doc)// 这里名称和之前对上就行doc.addFont('yahei', 'yahei', 'normal')// 使用字体时,使用这句即可doc.setFont('yahei')const reportTitle = '测试内容\n' +'换行测试\n' +'换行测试'// 设置自动换行const splitTitle = doc.splitTextToSize(reportTitle, 190)// 添加文本内容,两个参数是开始的x和y坐标doc.text(splitTitle, 10, 10)// 保存PDF文件,会直接弹出下载doc.save('test.pdf')},

详情:JSPDF支持中文(思源黑体)采坑之旅,JSPDF中文字体乱码解决方案 - 有蚊子 - 博客园 (cnblogs.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/30131.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

访问0xdddddddd内存地址引发软件崩溃的实战问题排查

目录 1、问题描述 2、访问空指针或者野指针 3、C程序中常见的异常内存值 4、0xdddddddd内存访问违例问题分析与排查 4.1、初步分析 4.2、CConfMeidaConfigDlg窗口类对象是何时被销毁的? 4.3、为啥会访问到已经释放内存的CConfMeidaConfigDlg类对象&#xff1…

(2)图像识别yolov5—识别图片视频等文件

目录 一、识别示例图片 二、识别视频 三、修改 detect.py 代码以输出物体坐标,更改识别方式 四、更改后的演示代码: 一、识别示例图片 在yolov5文件夹中,有两个示例图片,这里我们对示例图片进行识别。 打开命令行,进入到当前yolov5目录,通过运行下面的指令,然后对…

5.3. 平稳序列-次可加遍历定理

次可加遍历定理 1. 次可加遍历定理1.1. 次可加遍历定理1.2. 示例2. 应用2.1. 随机矩阵乘积2.2. 随机排序后递增序列的最大长度2.3. 首次到达路径1. 次可加遍历定理 1.1. 次可加遍历定理 定理6.4.1.次可加遍历定理 假设 X m , n , 0 ≤ m < n X_{m, n}, 0 \leq m<n X

QTimer、QElapsedTimer、timeout()事件、singleShot事件

实现 QTimer 定时器 、timeout()事件、singleShot事件的使用 QElapsedTimer 计数器的使用 布局 设置第一个和第二个groupBox高度为固定 timerexample.cpp #include "timerexample.h" #include "ui_timerexample.h" #include "QTime" #include …

分享一个dnslog在线平台

DNSLog Platform 页面只有两个按钮&#xff0c;点击Get Subdomain可以随机生成一个dnslog 点击Refresh Record&#xff0c;刷新这个dnslog的记录。可以查看到这条dnslog的IP地址和创建时间。

QT6不自动生成pro文件

安装了QT的新版本结果他不自动生成pro文件了导致下次打开很复杂 记得在创建时选择qmake&#xff0c;因为新版默认cmake

大模型“诸神之战”,落地才是赛点

ChatGPT 诞生已经快一年&#xff0c;你还在与它对话吗&#xff1f; 有的人用来写报告、改代码&#xff0c;让它成为得力帮手&#xff1b;有的人却只是“调戏”个两三回&#xff0c;让它创作诗歌或故事&#xff0c;便不再“宠幸”。 根据网站分析工具 SimilarWeb 的数据&#…

Zookeeper 集群广播事务性能如何保证?

Zookeeper 集群广播事务性能如何保证? zookeeper是如何保证广播事务时,从开始到多数节点确认事务这个高效的? 在 Zookeeper 中,确保广播事务从开始到多数节点确认的高效性至关重要。Zookeeper 通过以下几个关键机制 和优化策略来实现这一目标: ZAB 协议(Zookeeper Atom…

delphi 如何使用TEdgeBrowser组件以及打包环境在其他主机上运行

不管开发环境还是第三方环境先安装运行时库&#xff1a;Microsoft Edge WebView2 | Microsoft Edge Developer 开发环境可以直接通过&#xff1a; delphi IDE安装 安装完毕后进入到指定路径&#xff0c;复制里面的WebView2Loader.dll到你要开发的程序根目录&#xff1a; 大致路…

CentOS7下修改配置yum源

在CentOS 7中&#xff0c;修改YUM源可以通过以下步骤进行&#xff1a; 1. 备份当前的YUM源: cp -ar /etc/yum.repos.d /etc/yum.repos.d.bak 2. 清除原有的YUM源文件: rm -f /etc/yum.repos.d/* 3.以阿里云YUM源为例&#xff0c;创建一个新的YUM源配置文件: vim /etc/yum.repo…

未来工牌:蓝牙智联的彩色墨水屏工牌

在快节奏的现代职场中&#xff0c;传统的工牌已无法满足人们对于个性化和智能化的需求。为此&#xff0c;我们创新研发了一款4寸电子墨水屏工牌&#xff0c;它不仅仅是一个身份的象征&#xff0c;更是一个集蓝牙通信、智能显示、节能环保于一体的未来工具。 这款工牌拥有600*4…

电压模式R-2R DAC的工作原理和特性

本文将探讨电压模式R-2R DAC结构。 在本文中&#xff0c;我们将探索什么是R-2R DAC以及如何实现它们。 首先&#xff0c;我们将简要回顾一下开尔文分压器DAC。这种结构很简单&#xff0c;但它们需要大量的电阻和开关来实现高分辨率DAC。这个问题的一个解决方案是称为R-2R DAC…

内核启动时的中断和时钟的初始化流程

总结 内核通过start_kernel从汇编进入c世界&#xff0c;在用serup_arch设置体系架构的时候&#xff0c;会返回当前机器的machine_desc&#xff1b;然后init_IRQ和time_init来初始化中断。时钟子系统 start_kernelsetup_arch(&command_line);mdesc setup_machine_fdt(ata…

用友YonSuite打通招银云直联,让企业收付款更便利

在当今数智化浪潮席卷全球的背景下&#xff0c;企业对于高效、便捷的管理系统需求日益增加。作为全球领先的企业云服务与软件提供商&#xff0c;用友始终站在技术前沿&#xff0c;致力于为成长型企业提供全方位的数智化解决方案。 用友网络与招商银行通过联通双方系统&#xf…

YOLOv8改进 | 卷积模块 | 用坐标卷积CoordConv替换Conv

&#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录&#xff1a;《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有40篇内容&#xff0c;内含各种Head检测头、损失函数Loss、B…

消息订阅报错-用户拒绝: errMsg

微信小程序-消息订阅报错 前提问题解决 前提 小程序开发过程中&#xff0c;使用消息订阅功能。 问题 场景一&#xff1a;再注册成功之后进行消息订阅功能。 这里消息订阅功能写在接口请求成功的方法里面。 但是项目运行起来&#xff0c;消息订阅功能并没有被调用起来。 并且…

pytorch保存加载模型的两种方式

这里写目录标题 pytorch保存模型的两种方式开始&#xff1a;定义一个简单的模型方式一&#xff1a;保存和加载模型的状态字典方式二&#xff1a;2保存和加载整个模型 pytorch保存模型的两种方式 开始&#xff1a;定义一个简单的模型 import torch import torch.nn as nn impo…

JSP中实现文件上传下载

JSP中实现文件上传下载 文章目录 JSP中实现文件上传下载前言一、文件上传1、将jar包放入WEB-INF目录下的lib目录2、实现upload.jsp3、实现MyUploadServlet 二、文件下载1.download.jsp2.MyDownloadServlet 前言 在java web开发中&#xff0c;实现单个或多个文件的上传下载&…

期货的心态

1.跌倒之后爬起过程中的收获 失败跌倒了&#xff0c;一定不要自暴自弃&#xff0c;而是要有跌倒不要紧&#xff0c;要相信爬起来的过程中都会有一定的收获&#xff0c;从交易错误中走出并升华&#xff0c;这就会一步步的使我们迈向更高层次的交易。 2.不要让今天的交易影响到明…

智能化立体仓库的种类有哪些?

在仓储运输系统中&#xff0c;自动化立体仓库可充分利用空间储存货物&#xff0c;故而也被称之为高层货架仓库。在实际应用中&#xff0c;自动化仓库系统是不需人工处理的情况下能自动存储和取出物料的系统。那么&#xff0c;智能化立体仓库的种类有哪些&#xff1f;下面就让小…