当前位置: 首页 > news >正文

免费空间建网站中小型网站建设与管理总结

免费空间建网站,中小型网站建设与管理总结,宁波网络建站公司有哪些,企业解决方案 英文JS DataTable中导出PDF中文乱码 文章目录 JS DataTable中导出PDF中文乱码一. 问题二. 原因三. vfs_fonts.js四. pdfmake.js五. 解决六.参考资料 一. 问题 二. 原因 DataTable使用pdfmake#xff0c;pdfmake默认字体为Roboto#xff0c;不支持中文字体。添加自己的字体#…JS DataTable中导出PDF中文乱码 文章目录 JS DataTable中导出PDF中文乱码一. 问题二. 原因三. vfs_fonts.js四. pdfmake.js五. 解决六.参考资料 一. 问题 二. 原因 DataTable使用pdfmakepdfmake默认字体为Roboto不支持中文字体。添加自己的字体需要引入对应的vfs_fonts.js文件修改pdfmake.js。 在我的项目中对应datatable文件夹下的vfs_fonts.js和pdfmake.min.js也有人是改三个文件vfs_fonts.jspdfmake.js和dataTable.buttons.min.js思路对了就没问题 主要思路依据官网上对于添加字体的方法指导 前端页面的js内dataTable不需要改PDF导出按钮由前端界面的JS文件中DataTable设置。 三. vfs_fonts.js 获取中文版的vfs_fonts.js主要有两种方法自己生成和寻找资源。 自己生成vfs_fonts.js文件 首先需要准备字体的ttf文件。官网上对于如何生成有以下三种方法 1安装pdfmake 2通过shell脚本 官网对于使用shell脚本生成vfs_fonts.js文件的方法指导 3通过php脚本 我使用的是这种方法所以前面两种没有详细介绍。 官网对于使用php脚本生成vfs_fonts.js文件的方法指导 将字体ttf文件和该php文件放置同一目录下生成的vfs_fonts.js文件也会在该目录中。 ?php$output this.pdfMake this.pdfMake || {}; this.pdfMake.vfs {;$phpDirdir(.);while (($file$phpDir-read())!false) {if ($file!.. $file!. $file!makefont.php $file!vfs_fonts.js) {$output . ;$output . $file;$output . :;$output . base64_encode(file_get_contents($file));$output . ,;}}$outputsubstr($output,0,-1);$output . };;if (isset($_REQUEST[tofile])) {$fh fopen(vfs_fonts.js, w) or die(CANT OPEN FILE FOR WRITING);fwrite($fh,$output);fclose($fh);echo vjs_fonts.js created;} else {echo $output;}如果在目录下未生成vfs_fonts.js文件在浏览器中显示文件内容可以去掉if (isset($_REQUEST[tofile])) {}这个判断条件。 生成的vfs_fonts.js文件如图所示 需要将前面的run.php内容删除得到 对比原来Roboto字体的vfs_fonts.js文件发现要设置normal、bold、italics、bolditalics样式也是在同一个vfs_fonts.js文件中 this.pdfMake this.pdfMake || {}; this.pdfMake.vfs { xxx-Italic.ttf:xxxxxxxxxxxxxxxx, xxx-Medium.ttf:xxxxxxxxxxxxxxxx, xxx-MediumItalic.ttf:xxxxxxxxxxxxxxxx, xxx-Regular.ttf:xxxxxxxxxxxxxxxx } 使用该方法我导出的pdf能显示部分中文字体也只能显示部分英文字体不知道是生成方式有问题还是我字体ttf文件有问题。于是去找现成的资源了。 在网上寻找vfs_fonts.js资源 资源下载地址 四. pdfmake.js 以下内容找不到可以去dataTable.buttons.min.js找找的时候找相似格式主要讲个思路 设置字体 搜索Roboto找到它设置字体样式部分在后面添加自己的字体Chinese这里四个样式用同一份字体文件 pdfMake.fonts {Roboto: {normal: Roboto-Regular.ttf,bold: Roboto-Medium.ttf,italics: Roboto-Italic.ttf,bolditalics: Roboto-MediumItalic.ttf},Chinese: {normal: Chinese.ttf,bold: Chinese.ttf,italics: Chinese.ttf,bolditalics: Chinese.ttf} };检查createPdf()函数 确保形式是pdfMake.createPdf(docDefinition, tableLayouts, fonts, vfs)。修改defaultStyle 找如下格式 此外将pdfmake.js里除了pdfmake.fonts {}外所有的“Roboto”改成自己的字体“Chinese”。 五. 解决 六.参考资料 一些有用的参考资料 导出PDF按钮在前端界面设置而非Datatable中设置的 官网中关于非英文字符导出PDF乱码的讨论 datatable 导出无乱码中文pdf文件 pdfmake实现中文支持解决中文乱码问题
http://www.dnsts.com.cn/news/231374.html

相关文章:

  • 咸阳市建设银行网站51zwd一起做网站
  • 如何看一个关键词在某个网站是否被百度收录重庆营销网站
  • 网站开发与经营大庆加油app下载老版本
  • 自己建站的网站《网站开发实例》pdf下载
  • 旅游网站制作视频百度云七台河新闻哪里看回放
  • 个人适合做的网站重庆网络建站
  • 嘉兴专业自助建站免费咨询黄页88网企业名录
  • 上海手机站网站建设浙江网站建设电话
  • 建站出海网站建设的概念
  • 怎样免费设计网站建设word上下页边距怎么设置
  • 高校网站建设需求分析html5网站开发书籍
  • 利用百度图片做网站外链房地产网站的设计要求
  • 奇迹建站模板手机h5网站开发
  • 网站的建设框架英语作文模板高中
  • 在深圳找工作哪个网站好新品发布会ppt参考
  • 徐州网站建站静态网站更新
  • 网站源码在哪看织梦手机网站怎么修改密码
  • 网站优化招聘shopify做国内网站
  • 网站建设 电子书昆明做网站首选互维
  • 网络搏彩网站做代理青柠影院免费观看电视剧高清8
  • 时彩网站开发珠宝网站制作的理念
  • 什么网站做家电测评秦皇岛市网站建设
  • 高端文化网站模板制作网站要什么软件
  • 如何修改网站发布时间无锡做企业网站
  • 网站建设栏目层级南京网站制作步骤
  • 做纺织外贸哪个贸易网站好流行的网站开发框架
  • 深圳做网站比较好wordpress列表页添加页码
  • 新网站如何做快照石大网页设计与网站建设客观题
  • 免费企业模板网站苏州网站建设设计公司
  • 网站转移服务器需要重新备案吗汕头有几个区