源码下载
github地址
gitee镜像地址
确定下载那个版本的,我下载的是0.1分支的。
git clone -b 0.1 https://gitee.com/mirrors/pdfmake/
代码结构
- 使用gulp进行构建。
- dev-playground是一个网站,运行起来可以看到pdfmake的一些配置示例。
- src源码
- examples是示例代码,node端用。(一般这种库,会考虑node和浏览器两种运行环境的问题)
- build 项目构建输出文件。
- 然后就是各种工具的配置文件和项目说明文件
浏览器端使用
好像没有给浏览器端写示例。
定位到项目路径下
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字体。我们需要中文字体时,需要自己生成字体文件。
- 下载字体的ttf等文件,看需要提供normal/bold/italics/bolditalics版本的。
- 将文件放到examples/fonts文件夹下
- 命令行中运行
gulp buildFonts
命令,可以看到build下的vfs_fonts.js文件变化了。 - 需要将我们的字体命名,然后添加到pdfMake的fonts属性中。见上面的js代码。
- 在定义pdf数据配置文件时,使用defaultStyle设置默认字体。见上面的js代码。
配置问题
运行dev-playground,在localhost:1234地址,就可以看到一些示例。还可以动态修改。
cd dev-playground
npm install
cd ..
npm run playground