解决bootstrap table的export扩展模块利用tableExport导出pdf中文乱码问题

参考文章:

  1. https://blog.youkuaiyun.com/qq_34117170/article/details/72765646
  2. https://www.cnblogs.com/xrab/p/7210588.html
  3. https://www.npmjs.com/package/grunt-dump-dir
  4. https://www.cnblogs.com/s313139232/p/7545114.html

    bootstrap-table(1.12.1)中的export扩展模块默认使用jsPDF实现导出pdf,但是jsPDF会出现中文乱码问题。因此查阅一番资料,都提议使用pdfmake来实现pdf导出。但是pdfmake默认使用的字体js文件却又不支持中文。因此需要修改pdfmake源码来支持中文字体。具体做法就是编译新的vfs_fonts.js代替原来vfs_fonts.js文件引入到前端页面中。

    上述两个文章讲利用grunt或者glup来生成js。看了下文章然后打算亲自利用grunt来生成js文件。但按照文章1生成的方法来实现,发现里面还是漏了最重要的一步,也就是grunt执行所需要的Gruntfile.js、package.json。这两个东西都是通过grunt官方英文文档学习后,才知道要这两个文件。必须有这两个文件才能正确执行npm中gurnt命令。但是里面涉及一个grunt-dump-dir的依赖。然后问题来了,网上几乎没有这个依赖的操作说明,只查到文章3。然后自己摸索后,勉强写出来Gruntfile.js。但经过实际运行,不知为啥,执行成功后,在build目录下没有生成出js。百般尝试无奈放弃了手动生成js文件的念头。最后在不懈的查找下,找到了一个网址提供方正姚体的vfs_fonts.js(体积小,比微软雅黑要小)。

附上相关代码:

Gruntfile.js

module.exports = function(grunt) {

  // Project configuration.
  /*grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    uglify: {
      options: {
        banner: ''
      },
      build: {
        src: 'src/微软雅黑.ttf',
        dest: 'build/aa.js'
      }
	  
    }
  });

  // 加载包含 "uglify" 任务的插件。
  grunt.loadNpmTasks('grunt-contrib-uglify');

  // 默认被执行的任务列表。
  grunt.registerTask('default', ['uglify']);*/

  grunt.loadNpmTasks('grunt-dump-dir');
  
  grunt.registerTask('default', ['dump_dir']);
  
  grunt.initConfig({
  dump_dir: {
		options: {
		  'rootPath': 'src/'
		},
		files: {
		  'dest.js': [ 'src/*' ]
		},
	  }
	});
};

package.json

{
  "name": "my-project-name",
  "version": "0.1.0",
  "devDependencies": {
    "grunt": "^0.4.5",
    "grunt-contrib-jshint": "^0.10.0",
    "grunt-contrib-nodeunit"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值