近期,客户有一个需求,需求中包括按模板生成指定格式的word文件;从客户的角度出发,我又给客户增加了新的功能:
- 打印
- 预览
- 下载
经过一段时间的整理与调整现在功能基本完善。其中也感谢客户那边的大力支持,给了我改进控件的时间,很宽裕。现在整理如下:
一、打印
打印使用的是applet功能控件(我们这边的客户都是用的firefox,当然ie也是可以的),使用该控件可以直接从服务器上调用已生成的word文件进行打印。在打印时需要调用jacob控件进行打印,使用jacob调用客户端word的打印功能即可完成打印。
二、预览
预览功能需要服务器为windows系统,使用openoffice工具将用模板生成的文件,生成pdf,进而用swftools工具生成可以预览的swf格式的文件。在生成pdf时,需要将模板生成的文件另存一下(该功能仍然需要使用jacob来调用word控件,我用的富文本文件生成的模板;如果直接使用的是word模板生成的文件,该步骤可以忽略)。
三、下载
我用的一个功能是将一部分富文本文件插入到word模板中。如果是该需求,建议使用CKeditor富文本编辑器。试了Ueditor编辑器,可能是该编辑器功能不是很了解,感觉特别不好用,客户那边用着也不是很习惯;其中很大一个问题就是编辑后的文件,再用word下载之后格式变化很明显。还有一个就是从word粘贴过来东西之后,再展现问题就更加突出。而使用CKeditor则基本没有上述问题。言归正传,使用富文本插入word模板,需要将word另存为mht单文本文件格式;在转换的过程中,需要选用web选项中的utf-8格式以免乱码。
文件编辑好之后,用freemark模板将需要填充的地方填充一下,生成对应的文件即可。