zoukankan      html  css  js  c++  java
  • ABP进阶教程10

    点这里进入ABP进阶教程目录 

    问题描述

    功能按钮 - 导出PDF,中文信息导出为乱码。

     

    解决方案

    导出PDF是通过pdfmake.js实现的。

    检查发现是pdfmake引用的vfs_fonts.js字体只有一种: Roboto,而Roboto不支持中文。

    解决思路是生成一个包含支持中文字体的vfs_fonts.js替换掉旧的文件。

    下载项目

    下载pdfmake https://github.com/bpampuch/pdfmake

    安装gulp

    全局安装

    npm i gulp-cli -g

    本地安装

    npm install --save-dev gulp

    查看版本

    gulp -v

     

    生成字体

    生成字体

    gulp buildFonts

     

    替换字体

    把生成的pdfmake-masteruildvfs_fonts.js复制替换
    JD.CRS.Web.MvcwwwrootlibdataTablespdfmakevfs_fonts.js 

    更新配置

    打开展示层(即JD.CRS.Web.Mvc)的wwwrootview-resourcesViewsCourseIndex.js //用以存放Course查询相关脚本

    找到DataTable/buttons参数设置

    添加如下代码 

    pdfMake.fonts = {
        Roboto: {
            normal: 'Roboto-Regular.ttf',
            bold: 'Roboto-Medium.ttf',
            italics: 'Roboto-Italic.ttf',
            bolditalics: 'Roboto-Italic.ttf'
        },
        微软雅黑: {
            normal: 'msyh.ttf',
            bold: 'msyh.ttf',
            italics: 'msyh.ttf',
            bolditalics: 'msyh.ttf',
        }
    };
  • 相关阅读:
    华硕B360主板装机找不到固态硬盘启动
    Maxwell平滑升级流程
    快速导入Excel数据到mysql
    Docker
    Rest之路
    Rest之路
    Docker -- resolve "join node timeout" error
    (转) Docker
    Docker
    Docker
  • 原文地址:https://www.cnblogs.com/IT-Evan/p/ABP26.html
Copyright © 2011-2022 走看看