Angularjs ui-grid pdfmake.js 导出excel/pdf及pdf中文问题
2016-07-20 00:00
645 查看
摘要: 1.最近在做angularjs ui-grid 导出excel/ pdf 功能时遇到导出excel cvs文件正常,在导出pdf时发现中文表头导出后为空问题。
这个问题原因: ui-grid 导出pdf 使用了pdfmake.js 这个开源插件,这个插件所提供的字体vfs_fonts.js 是不支持中文的,需要自定义fonts 。
ui-grid使用介绍看这篇博客:http://my.oschina.net/gmd/blog/670895
一. 处理Angularjs ui-grid 导出pdf 无法显示中文问题:
第一步:pdfmake 自定义支持中文的字体
pdfmake 官网 : http://pdfmake.org/#/
pdfmake自定义字体:https://github.com/bpampuch/pdfmake/wiki/Custom-Fonts---client-side
需要下载node.js,然后下载bower,然后下载这个pdfmake的zip并解压,再安装grunt,在pdfmake这个目录下执行grunt dump_dir命令,但是你会发现缺少各种grunt插件,然后你要一个一个安装grunt插件。最后把你想要的支持中文的ttf文件放到pdfmake的examples\fonts目录下,然后执行grunt dump_dir命令,它不报错的情况下会把ttf文件加到build/vfs_fonts.js文件中,然后将vfs_fonts.js拷贝到工程中在html中引入这个js。
第二步: 引入js
pdfmake.min.js 导出pdf插件
vfs_fonts.js 就是第1步自定义的字体js文件
第三步: 在你调用createPdf方法执行以下js,注:simblack是自定义的字体。
第四步: 定义gridOptions 时指定字体为simblack:
这个问题原因: ui-grid 导出pdf 使用了pdfmake.js 这个开源插件,这个插件所提供的字体vfs_fonts.js 是不支持中文的,需要自定义fonts 。
ui-grid使用介绍看这篇博客:http://my.oschina.net/gmd/blog/670895
一. 处理Angularjs ui-grid 导出pdf 无法显示中文问题:
第一步:pdfmake 自定义支持中文的字体
pdfmake 官网 : http://pdfmake.org/#/
pdfmake自定义字体:https://github.com/bpampuch/pdfmake/wiki/Custom-Fonts---client-side
需要下载node.js,然后下载bower,然后下载这个pdfmake的zip并解压,再安装grunt,在pdfmake这个目录下执行grunt dump_dir命令,但是你会发现缺少各种grunt插件,然后你要一个一个安装grunt插件。最后把你想要的支持中文的ttf文件放到pdfmake的examples\fonts目录下,然后执行grunt dump_dir命令,它不报错的情况下会把ttf文件加到build/vfs_fonts.js文件中,然后将vfs_fonts.js拷贝到工程中在html中引入这个js。
第二步: 引入js
pdfmake.min.js 导出pdf插件
vfs_fonts.js 就是第1步自定义的字体js文件
<!-- ui-grid export --> <script src="../pdfmake/pdfmake.min.js"></script> <script src="../pdfmake/vfs_fonts.js"></script> <script src="../ui-grid/csv.js"></script>
第三步: 在你调用createPdf方法执行以下js,注:simblack是自定义的字体。
window.pdfMake.fonts={ simblack: { normal: 'simpleblack.ttf', bold: 'simpleblack.ttf', italics: 'simpleblack.ttf', bolditalics: 'simpleblack.ttf' }, Roboto: { normal: 'Roboto-Regular.ttf', bold: 'Roboto-Medium.ttf', italics: 'Roboto-Italic.ttf', bolditalics: 'Roboto-Italic.ttf' } }
第四步: 定义gridOptions 时指定字体为simblack:
exporterPdfDefaultStyle : {font:'simblack',fontSize: 9}
相关文章推荐
- mysql load data 导出、导入 csv
- 使用Python生成Excel格式的图片
- Angularjs 跨域请求
- Excel 曝出 Power Query 安全漏洞,1.2 亿用户易受远程 DDE 攻击
- VBA将excel数据表生成JSON文件
- excel vba 限制工作表的滚动区域代码
- excel vba 高亮显示当前行代码
- 注册表导出管理员密码文件
- db2 导入导出单个表的操作详解
- Windows2003下批量添加和导出所有ip BAT脚本
- C#控制Excel Sheet使其自适应页宽与列宽的方法
- SQL 导入导出Excel数据的语句
- SQLServer 数据导入导出的几种方法小结
- 用dos命令实现导入、导出windows计划任务详解
- SQL Server导入、导出、备份数据方法
- 文本、Excel、Access数据导入SQL Server2000的方法
- Windows Powershell导出管道结果
- C#实现Excel动态生成PivotTable
- C#基于COM方式读取Excel表格的方法