在c#的应用程序中,要实现打印、页面设置、打印预览这些功能实际上是很简单的,就那三个类;但是现在我遇到这样的一个问题:我要实现打印预览,但是系统提示我“未安装打印机”,我很想实现一台机子没有安装打印机,同时也没有安装打印驱动的情况下可以“打印预览”,就像word、ie一样,系统没有安装打印机和驱动,照样可以进行打印预览,但是记事本就不可以的,这个我试过,所以要如何实现呢?
谢谢

解决方案 »

  1.   

    装个office2003就可以了!!里面有个虚拟打印机!!Microsoft Office Document Image Writer一般使用这个!
      

  2.   

    我的机器上是装了office 2003的,这样应该是有了虚拟打印机了,这样是不是说明系统已经跟着有了虚拟打印机,如果这样那么记事本的打印浏览应该是可用的,但是我试了,好像也是报错了。
      

  3.   

    在你的打印机设置内有没有这个打印机:Microsoft Office Document Image Writer如果没有那么你的office2003可能是绿色版的!!你要找个完整版本安装应该有!!
      

  4.   

    我试过了,在ie里页面设置和打印页会弹出一个警告用户安装打印机的提示对话框,但是打印预览的时候并不会,而word也是这样的,只是页面设置不一样,因为word的设计和ie等的不一样。所以现在并不在于是否有了Microsoft Office Document Image Writer的打印机,而在于为什么在一台没有安装打印机的系统中,ie和word可以实现打印预览,是什么原理?我的程序要实现应该怎么才能实现,实际上不管有没有打印机,打印预览的功能比打印更重要,因为在没有安装打印机的情况下,我们还是需要看看将会打印成什么样子,这就是打印预览的实际功能了。
      

  5.   

    想实现这个功能也容易也不容易,你可以自已用于显示Windows的DC去构造一个PrintPageEventArgs,然后去调用PrintDocument的PrintPage.PrintPage的事件处理函数之所以说不容易,是因为这你做这个窗口无法直接取得这个PrintDocument的PringPage的事件所有可能预订的处理函数.所以,如果所有的打印代码全是自己设计的,并且不支持"客户级"的动态绑定事件是没问题的