日期:2014-05-17  浏览次数:20774 次

打印
打印信息分为:固定背景(每页都是一样)、活动取数(每页不一样)
打印信息来源:1、固定背景:外部XML获取打印信息及位置(DrawLine,DrawString,DrawImage...)
  2、活动取数:外部XML获取打印位置,打印信息通过数据库取数(DrawLine,DrawString,DrawImage...)

打印时,先将固定背景获取后打印出来(e.Graphics)

其次:分页打印,从数据库中获取数据内容后打印在背景上

问题:我现在分页打印,都需要计算固定背景及活动取数内容然后统一打印,造成速度太慢

设想:固定背景统一计算后保存至某一变量,分页打印时只需将活动文本添加至固定背景上即可,能增加速度。

设想问题:我将固定背景保存至Image,然后分页打印时通过DrawImage吞吐至e.Graphics,然后+活动取数,但是碰到小字体,小图片,有失真情况。

待大侠们解决:
1、若采用DrawImage如何能确保不失真;
2、若不采用DrawImage,通过什么方法能是固定背景只计算一次。

------解决方案--------------------
直接调用IE8打印吧!用DIV/CSS控制打印的东西,很方便的。