引言
上篇博客对GDI+的基本绘图方法汇总整理了一遍,本来以为不会学习到有关GDI+更深一步的内容了,但随着项目的进行发现事实并非如此,GDI+不仅仅是封装了图形绘制的功能,它还封装了经常使用的打印功能。今天来看看.NET的打印是如何实现的。
.NET打印解析
打印架构解析
先来讨论下打印的一个流程,当要打印时我们往往需要首先打开打印的文档,那抽象一下就是文档类;然后编辑文档的内容,页面之类的东西,这里可以抽象出页面设置;在设置完成后大部分人会选择先预览下文档的内容和打印格式是否满足要求,那么我们又抽象出了一个打印预览;上面的操作完成后,接下来就要真正的打印了,这里要想想在开始打印前是不是还要有一个界面来选择打印机、打印类型等的界面?是的,在打印前往往还会有一个打印选项的功能,最后抽象出了一个打印选项。
上面从打印开始,按照打印的流程一步步分析了打印时需要有的类和窗口,从流程来看要想实现打印必须至少会有四类,这四类也是.NET在打印时需要使用到的内容。
从.NET封装的打印需要的内容上来看,其实打印需要的内容被封存在两个命名空间内(如下图),这两个命名空间结合使用才能实现灵活的打印的目的,另外Printing空间下的类提供了对打印的一些操控,而在Forms空间下的类提供了对打印的一些设置,而且还提供了窗体的显示。