打印问题可以说是程序中最棘手 最多变 扩展性最差 最容易被忽视的问题。一般的程序员都是程序设计好,报表也做好了,投入使用后才发现那令人头疼的问题。赶紧找资料,网上找 help ,那其中的个中枯涩滋味只有自己最了解。而且,我们可以看一下,csdn 中关于打印问题的解决成功率低得可怜。其实,那些所谓解决问题的打印程序,其扩展性,适应性都极差,大多数根本满足不了用户变更的需要及用户的多变的操作环境。(跨平台是太苛刻了,但就 win98 和 win2000 下的打印好多程序就解决不了,具体请看 csdn 中的打印问题吧)。
现在大家探讨一下一个好的打印程序需要解决的问题,相信大多数人的打印程序都存在这样的问题,除非您是极高的打印高手。
1. 您的打印程序适应多种格式报表吗,是否支持独立与原始数据的的编辑打印吗?具体来说,也就是能否输出到 像 excel 这种强大而大多数人都会使用的表格编辑器里吗?支持打印前的编辑,这一点最重要,你可能也意识不到,认为这必要吗?您可能认为我的程序已经具备了编辑功能,打印的数据没有必要修改。其实,作为大多数的程序都在用户使用的过程中,都存在一个变化过度期(姑且让我这样叫)。比如一个定单打印程序,要打印每一个元件的 材质 颜色 元件价格等。设计时,您可能认为 材质 绝对不变,即使变了,更改一下 元件库就可以了。但是,我们的程序根本不能这样设计,太复杂了,程序编写麻烦,用户操作麻烦。一句话,我们所打印的东西,在一个用户使用的变化过度期(时间也不长),可能同时要存在比如同一个元件的 两种材质,过了这个过度期,又仅存在同一个元件的一种材质。总之,用户需求我们所打印的东西能存在一定程度的修改,但过了 变化过度期 又可能根本不需要修改,这个在工厂生产管理方面最多。
2. 您的打印程序适应用户打印纸张的变更吗?更改后能否正常连续打印吗?在98 下可以正常打印,可以自定义纸张,在 2000 呢?在网络打印机上呢?我们看到好多人将数据送到 excel 里打印,但纸张的长度一变,宽度一变,打印就不正常 了。您可以认为这个要求纯粹多余,但用户就存在这个需求。
3. 您的打印程序支持数据库自定义打印吗?这个要求最苛刻,但这个要求用户最需要。像我这样的一般的程序员只好再拿起那看似很久以前的程序,再辛辛苦苦的编写,再给用户重新安装。
聊了以上的问题,只是想给大家讨论一下:我们的打印程序到底怎样做,才能满足以上三点的需求呢?希望各路各位高手都能谈一下,大家互相促进,也好让我们这些一般人长长见识!!