jspdf简单使用
安装
npm install jspdf --save
英文输出
import jsPDF from 'jspdf-customfonts' let doc = new jsPDF()
doc.text('Hello world!', , )
doc.save('a4.pdf')
中文输出, 截图版
把中文做成图片,在插入到jspdf
//安装js截图包
cnpm install --save html2canvas import jsPDF from 'jspdf'
import html2canvas from 'html2canvas'
html2canvas(document.querySelector("#capture")).then(canvas => {
let doc = new jsPDF()
doc.text('您输入的300与正确值相差0~10%', , ) //文本
doc.text('Hello world!', , )
doc.text('Hello world!', , )
doc.addImage(canvas.toDataURL('image/jpeg'), 'JPEG', , , , ) doc.addFont('Dengb.ttf', 'NotoSansCJKjp', 'normal')
doc.setFont('NotoSansCJKjp')
doc.text(, , '您输入的300与正确值相差0~10%')
let paragraph = '您输入的300与正确值相差0~10%您输入的300与正确值相差0~10%您输入的300与正确值相差0~10%'
let lines = doc.splitTextToSize(paragraph, )
doc.text(, , lines)
doc.save('a4.pdf')
})
结果
中文输出,引入字体版
1.cnpm install jspdf-customfonts安装
2.本地找到上面安装的包的源代码
3.找到windows的字体文件,ttf格式的
4.拷贝到步骤2的fonts文件下
5.返回上层目录,打开cmd窗口,运行node makeFonts.js,将在dist目录下生成default_vfs.js
5.default_vfs.js内容大致如下
6.将文件对应文件拷到其他地方,然后引入
<script src="https://unpkg.com/jspdf@latest/dist/jspdf.min.js"></script>
<script src="static/js/jspdf.customfonts.min.js"></script>
<script src="static/js/default_vfs.js"></script>
7.导入代码
let doc = new jsPDF()
doc.addFont('Dengb.ttf', 'NotoSansCJKjp', 'normal');
doc.setFont('NotoSansCJKjp');
doc.text('您输入的300与正确值相差0~10%', , ) //文本
doc.text('Hello world!', , )
doc.save('a4.pdf')
8.结果对比
jspdf简单使用的更多相关文章
- 分享一个 jsPDF的简单使用以及中文编码问题的解决
后台一个下载文件中内容国际化问题的坑甩到了前端 前端自己匹配,自己处理国际化,生成文件下载 jsPDF-AutoTable 挺靠谱 中文乱码, 还是好人多啊 解决方式如下文章 jsPDF的简单使 ...
- 赞!jsPDF – 基于 HTML5 的强大 PDF 生成工具
jsPDF 是一个基于 HTML5 的客户端解决方案,用于生成各种用途的 PDF 文档.使用方法很简单,只要引入 jsPDF 库,然后调用内置的方法就可以了.浏览器兼容性: IE 10, Firefo ...
- html/jsp导出pdf格式的几种方法(jsPDF,iText,wkhtmltopdf)
在许多生成报表的时候需要我们后台作出动态的数据,并渲染到前端生成pdf格式,Excel格式的各种报表,但是浏览器自带的生成pdf功能,windows系统的ctrl+p键就能完全搞定这一需求,但对客户来 ...
- jsPDF – 基于 HTML5 的强大 PDF 生成工具
jsPDF 是一个基于 HTML5 的客户端解决方案,用于生成各种用途的 PDF 文档. 使用方法很简单,只要引入 jsPDF 库,然后调用内置的方法就可以了. 米扑科技项目用到了HHTML5生成PD ...
- jsPDF生成pdf文件和中文编码
jsPDF的简单使用以及中文编码问题的解决 文中js通过CDN引入,若是为了加载时间最好下载至本地. jsPDF的使用 jsPDF简介 jsPDF 是一个基于 HTML5 的客户端解决方案,用于在客户 ...
- 纯前端html导出pdf--分页+不分页--html2canvas+jsPDF
前言 最近在项目中,有一个导出pdf功能,需要纯前端来实现,调研了多种pdf导出方式,最终决定使用html2canvas+jsPDF来实现需求. 本文就简单介绍一下html2canvas+jsPDF导 ...
- 【造轮子】打造一个简单的万能Excel读写工具
大家工作或者平时是不是经常遇到要读写一些简单格式的Excel? shit!~很蛋疼,因为之前吹牛,就搞了个这东西,还算是挺实用,和大家分享下. 厌烦了每次搞简单类型的Excel读写?不怕~来,喜欢流式 ...
- Fabio 安装和简单使用
Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
随机推荐
- [ZJOI2005]九数码游戏(BFS+hash)
Solution 这题的话直接上BFS就可以了,因为要输出方案,所以我们要开一个pre数组记录前驱,最后输出就可以了. 对于状态的记录,一般都用哈希来存,但因为这道题比较特殊,它是一个排列,所以我们可 ...
- 10元买啤酒问题Java解法
10元去买啤酒,2元一瓶.每两个瓶可以换一瓶啤酒,每四个瓶盖可以换一瓶啤酒.最多买几瓶? public class Java { public static void main(String[] ar ...
- CF132E Bits of merry old England
解:略一思索:网络流啊!(别问我是怎么想到的......) 发现跟志愿者招募有点像.于是把图建一下,在下面开一条通道,但是每个点又都要经过,这时我们就无脑上下界一波. 通道向点连边,有费用.每个点向它 ...
- 第十三篇-通过Button设置文本背景颜色
MainActivity.java package com.example.aimee.buttontest; import android.annotation.SuppressLint; impo ...
- 为什么在Python里推荐使用多进程而不是多线程?(为什么python多线程无法增加CPU使用率?)
最近在看Python的多线程,经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢? 要知其然,更要知其所以然.所以有了下面的深入研究: 首先强调背景: ...
- TensorFlow升级1.4:Cannot remove entries from nonexistent file \lib\site-pack
https://blog.csdn.net/wishchin/article/details/78559313 https://blog.csdn.net/fool_frog/article/deta ...
- python enumarate方法的使用
'''enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中.'''
- android studio adb.exe已停止工作(全面成功版 进程的查询和开启)
先输入adb看是否存在. 如果不存在则:在系统path里添加C:\Users\nubia\AppData\Local\Android\sdk\platform-tools 因为这个目录里有adb 或者 ...
- Mac上在终端上解压与压缩
1.安装rar 1.brew install unrar 2.unrar -version 3.进入需要解压的文件目录下,unrar x 文件夹名.rar 1.tar -xvf [file.tar.g ...
- 多元线性回归(Multivariate Linear Regression)简单应用
警告:本文为小白入门学习笔记 数据集: http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=DeepLearnin ...