怎么定制机构个性化的错题本?wkhtmltopdf和phantomjs实用比较,技术分享干货!

教育机构在做定制化软件开发的时候,会遇到这样一个问题:机构需要定制自己的错题本封面和封底,并且题目界面需要有各种便签可供学生标记,例如下面这个图:
个性化习题界面
要显示这样的错题界面,如果用word形式,一种办法是通过html转换成word,但是这样会导致部分理科题目无法显示的情况;另一个办法是直接在word中显示html,这种形式其实还是html,体验不太好,打印出来也会出问题。所以我们采取的是通过PDF的形式展示这种格式,并且还可以定制封面和封底:如下图:
个性化封面
个性化封底
因为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
​ ​

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值