这一系列的文章主要记录作者在开发下面网站中的毕业论文编辑器的经历以及一些思考。
www.biyelunwenbjq.cn
第三套方案本质上是第二套方案的完善,如果一早就了解到Word格式已经公开,根本就不会有前面两个版本,艹(总共花费了接近两个月)。不过收获也是有的,比方说Latex和Word之间的格式转换,没有这个经历的人应该很难像我一样了解得这么深刻(事实上对大多数人而言根本没有必要去了解,因此资料少到出奇,哎。。。后面如果有心情会写博客介绍几个刁钻的镜像映射问题给后来者抛砖引玉)。
方案三
前面方案二的流程是:Typora分块编写论文->程序解析md文件获得内容及其对应类型(图片标题或者正文等)->程序根据内容和其对应类型生成学校指定格式的Word文档
这个流程的问题在前面一篇中列出来了,我猜大多数人最难接受的是第1点,而让本人最难受的却是第3点。原因在于第1点虽然不符合大多数人的习惯,会在初期劝退一大批用户,但它并没有直接限制程序必要功能的实现。本人始终相信,如果一个东西好用到一定程度,是有可能慢慢培养用户,使其甘愿付出学习成本来接受它的,因此这一问题造成的影响可能只是早期用户增长缓慢。而第3点则不同,除非付出极大代价,不然在这个架构上无法实现"公式"等对象的生成和格式调整。即便本人只是一名业余架构师,但这种一眼看的见天花板的架构也是无法接受的。
因此,在写第二个方案代码的末期,第三个方案的构思就已经展开了。说来也简单,第三个方案的唯一目标就是把第二个方案没换掉的部分给换了,以着重解决缺点3。
流程变成:Word分块编写论文->程序解析Word文件获得内容及其对应类型(图片标题或者正文等)->程序根据内容和其对应类型生成学校指定格式的Word文档
由于之前使用的"DocX库"没有读取Word对象的功能,于是换成了"Spire.Doc库"。如果您也是程序员,应该能从这一换品出作者的辛酸、无奈和内心的万’马’奔腾。是的,这意味着要重写绝大部分的代码!!!如果一开始就用的是这个库,而不是被"Cathal Coffey"博士的英勇事迹所感动得屁颠屁颠的用"DocX库",哪还有这么多事,前期的调研工作太重要啦!!!
最终,本人凭借超强的编程能力(ctrl c+v),花了不到十天搞出来了。事成之时,有种“天雨粟,鬼夜哭,龙登玄云,神栖昆仑”的错觉。
经过一段时间的调试和小白鼠毕业生的测试后,感觉总体框架已经基本成型,然而用户体验依然抓急,还远未到事了拂衣去的阶段。。。
这一版本的优缺点总结如下:
优点:
- 用户终于可以用几乎人人会用的Word进行论文写作啦!虽然作者更喜欢Typora。。。
- 软件用exe格式压缩发行,双击解压就完成了安装。且因为Typora也被干掉了,程序的体积光速下降到30.0M,即便用的是exe格式进行压缩,安装包的体积也丧心病狂的只有7.68M!
- "Spire.Doc库"作为商业库更加成熟稳定,而且迭代速度快,即便现在还有个别无法直接生成的特殊格式,也有希望被快速支持。
- 读取的文档是Word文档,公式这种方案二需要各种源码转换的对象现在天然支持了。
- 生成的是Word,吃上了Word系统的红利。
- 高校给的格式可以直接对应上,软件普及到多个高校是可以工程实现的问题。
缺点:
-
"Spire.Doc库"提供的可操作性同样不足以覆盖全部的格式要求,要在后期用Word的VBA宏来实现一小部分格式的生成。用户还是要先在Word中弄出一个指定的宏才能正常使用生成程序,不够傻瓜。
-
"Spire.Doc库"是个商用库,虽然可以用其提供的免费版本"Free Spire.Doc"来进行操作,但该版本在加载或操作Word文档时,要求Word文档不超过500个段落、25个表格。本人一开始觉得这个限制应该不会超,但测试中有个学生证明了我是错的。。。如果不交钱使用这个商用库,则会有一行红色的license如下:
让作者感觉到了自己的贫穷。而出于行业道德等等考虑,本人坚持除非万不得已,不用盗版。因此这行license就一直很碍眼的出现在生成文档的顶部。 -
离Latex的美学红利越来越远,越来越远。
最终方案三就这样定格下来成了本项目的核心,这个部分后面基本上没什么大的改动。作者围绕着缺点1,以及之前没有想到过但后来才发现非常重要的几个点,又踏上了方案四的征程。