pdfmake生成pdf文件

本文详细介绍了PDFMake源码的下载与构建过程,包括如何从GitHub和Gitee获取指定版本,使用gulp构建工具,以及在浏览器环境中运行示例代码的方法。同时,深入探讨了如何解决中文字体显示问题,通过自定义字体文件和配置,实现中文内容的正确展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源码下载

github地址
gitee镜像地址
确定下载那个版本的,我下载的是0.1分支的。

git clone -b 0.1 https://gitee.com/mirrors/pdfmake/

代码结构

  1. 使用gulp进行构建。
  2. dev-playground是一个网站,运行起来可以看到pdfmake的一些配置示例。
  3. src源码
  4. examples是示例代码,node端用。(一般这种库,会考虑node和浏览器两种运行环境的问题)
  5. build 项目构建输出文件。
  6. 然后就是各种工具的配置文件和项目说明文件

浏览器端使用

好像没有给浏览器端写示例。

定位到项目路径下
npm install
npm run build 

build文件夹下的

pdfmake.js
pdfmake.js.map
pdfmake.min.js
pdfmake.min.js.map
vfs_fonts.js  --pdfmake在浏览器上使用base64码存储字体文件。

我们新建一个html页面,引入pdfmake.js和vfs_fonts.js

<script>
	function down() {
			var dd = {
			content: [
				'title',
				{
					text:"文本",
					fontSize:16
				}
			],
			defaultStyle: {
				font: 'simfang'
			}
		};
		pdfMake.fonts = {
			simfang: {
				normal: 'simfang.ttf',
				italics: 'simfang.ttf',
				bolditalics: 'simfang.ttf',
				bold: 'simhei.ttf'
			}
		};
		pdfMake.createPdf(dd).download();
	}
</script>

字体问题

pdfmake默认只提供了Roboto字体。我们需要中文字体时,需要自己生成字体文件。

  1. 下载字体的ttf等文件,看需要提供normal/bold/italics/bolditalics版本的。
  2. 将文件放到examples/fonts文件夹下
  3. 命令行中运行gulp buildFonts命令,可以看到build下的vfs_fonts.js文件变化了。
  4. 需要将我们的字体命名,然后添加到pdfMake的fonts属性中。见上面的js代码。
  5. 在定义pdf数据配置文件时,使用defaultStyle设置默认字体。见上面的js代码。

配置问题

运行dev-playground,在localhost:1234地址,就可以看到一些示例。还可以动态修改。

cd dev-playground
npm install
cd ..
npm run playground

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值