使用GDI+创建一套简单的报表系统
上周近一周时间做了一套简单的报表系统用在当前的项目中,做个总结。
之前的报表是使用HTML搭建的,在打印的时候非常不好控制。并且通过针式打印机在1/2纸上打出来的效果很差。所以才有了这个系统。
在做之前遇到的主要问题如下:
- HTML容易受到不相干元素或IE版本的影响导致页面变形。之前是使用CSS和Table来固定位置。简单又方便,并且解决了问题。
- HTML提供的打印选项非常有限,特别是无法通过编程的方式指定自定义纸张和打印机,这是非常大的困扰。
- IE在打印HTML时,生成的是位图,因此打印出来的效果不理想。如果遇到针打和缩放,那么整个报表几乎是不能看的。
这次的系统主要是针对以上三点做的。
上图表示了整个报表系统的基本架构。
文档对象模型类似于HTML代码,是用来描述报表具体表现的文档。这是一个定义了结构的XML。
文档处理模块是将XML文件解析成DOM树,并根据DOM绘制报表。
表现层,尚未制作,当前系统是使用了一个Panel来接受输出。

浙公网安备 33010602011771号