<< 点击返回公司新闻列表
怎么定制机构个性化的错题本?wkhtmltopdf和phantom
浏览量 157时间 2020-10-15

        教育机构在做定制化软件开发的时候,会遇到这样一个问题:机构需要定制自己的错题本封面和封底,并且题目界面需要有各种便签可供学生标记,例如下面这个图:

图片.png

 

         要显示这样的错题界面,如果用word形式,一种办法是通过html转换成word,但是这样会导致部分理科题目无法显示的情况;另一个办法是直接在word中显示html,这种形式其实还是html,体验不太好,打印出来也会出问题。所以我们采取的是通过PDF的形式展示这种格式,并且还可以定制封面和封底:如下图:

图片.png

 

图片.png

 

       因为PDF是比较好的打印格式,不会出现混乱的情况,所以目前就是怎么解决html完美转换成PDF的问题。

 

       我们尝试了很多插件以后,最终发现下面这2个工具比较合适:wkhtmltopdf和phantomjs,下面分别试一下他们的效果:

 

  • wkhtmltopdf:下载完成后需要添加到环境变量才能在代码中使用,比如我们使用的是PHP,就可以通过shell_exec执行命令行。通过官网我们知道wkhtmltopdf还是非常强大的,可以设置页面为A3或者A4格式,可以设置页眉页脚,也可以设置字间距,字体,边框等,能满足大部分的转换需求,但是wkhtmltopdf也有他的缺点,就是对于js渲染后的页面转换后显示不太友好。对于我们的需求而言,要解决的难点就是理科公式的问题,因为我们的latex公式基本都是js渲染后才显示。后来发现wkhtmltopdf有一个参数就是可以设置等待时间,最终我们设置等待5秒在导出,就解决了latex导出PDF的问题,并且实现了完美的打印

 

  • phantomjs:使用方法都差不多,只是phantomjs需要通过js来配置参数。一样的需要先添加phantomjs到环境变量,然后通过代码执行命令行实现,也可以设置加载时间来实现js对html的渲染,只是phantomjs没有wkhtmltopdf转换专业。
 
 
本文希望通过自己的开发经验,减少教育软件开发者的坑。可以通过下面这个网站进行测试:http://www.wisdomk12.cn

 



 



上一篇:没有了
下一篇:没有了

推荐阅读
免费体验K12题库管理系统|题库软件|组卷网源码-为师通官网后台管理系统立即体验