初学者使用pdfmake详细教程

对于初学者来说

了解pdfmake【pdfmake

练习pdfmake的基本用法【http://pdfmake.org/playground.html】

 2.解决中文乱码问题

   首先:找到你需要的中文字体文件,可以在C:\Windows\Fonts选择最小中文文件复制,比如        simfang.ttf

  其次:在你的项目pdfmake-master\examples\fonts下粘贴simfang.ttf,

 然后:在pdfmake-master\dev-playground\server.js中添加新增字体

var fonts = {
		Roboto: {
			normal: path.join(__dirname, '..', 'examples', '/fonts/Roboto-Regular.ttf'),
			bold: path.join(__dirname, '..', 'examples', '/fonts/Roboto-Medium.ttf'),
			italics: path.join(__dirname, '..', 'examples', '/fonts/Roboto-Italic.ttf'),
			bolditalics: path.join(__dirname, '..', 'examples', '/fonts/Roboto-MediumItalic.ttf')
		},
    //新增字体
		simfang: {
			normal: path.join(__dirname, '..', 'examples', '/fonts/simfang.ttf'),
			bold: path.join(__dirname, '..', 'examples', '/fonts/simfang.ttf'),
			italics: path.join(__dirname, '..', 'examples', '/fonts/simfang.ttf'),
			bolditalics: path.join(__dirname, '..', 'examples', '/fonts/simfang.ttf')
		}
	};
let PdfPrinter = require("pdfmake");
 let printer = new PdfPrinter(fonts);

3.可使用样式

pdfmake                     vs                   css3

text样式:

alignment                                        text-align

fontSize                                          font-size

marginTop                                      margin-top 

bold:true                                        font-weight: bold; 

margin: [左,上,右,下]                      margin: 上、右、下、左; 

leadingIndent                                  text-indent 

preserveLeadingSpaces:true 保存开头空格

unbreakable:true不分页

注: alignment 还能用于图片

table样式(pdfmake): 

layout: {
				hLineWidth: function (i, node) {  //水平线宽度
					return (i === 0 || i === node.table.body.length) ? 2 : 1;
				},
				vLineWidth: function (i, node) {   //垂直线宽度
					return (i === 0 || i === node.table.widths.length) ? 2 : 1;
				},
				hLineColor: function (i, node) {   //水平线颜色
					return (i === 0 || i === node.table.body.length) ? 'black' : 'gray';
				},
				vLineColor: function (i, node) {   //垂直线颜色 
					return (i === 0 || i === node.table.widths.length) ? 'black' : 'gray';
				},
				 hLineStyle: function (i, node) { return {dash: { length: 10, space: 4 }}; },           //水平线样式
				 vLineStyle: function (i, node) { return {dash: { length: 10, space: 4 }}; },           //垂直线样式
				 paddingLeft: function(i, node) { return 4; }, 
				 paddingRight: function(i, node) { return 4; },
				 paddingTop: function(i, node) { return 2; },
				 paddingBottom: function(i, node) { return 2; },
				 fillColor: function (rowIndex, node, columnIndex) { return null; } //填充色
			}

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值