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

如何通过XPS虚拟打印机打印任一格式的文件,而不弹出对话框?
通过以下代码可以进行通用的打印(当然,需要系统中安装好可打开指定文件格式的应用程序)
------------------------------------------------------------------------------------
    System.Diagnostics.Process p = new System.Diagnostics.Process();
    //不现实调用程序窗口,但是对于某些应用无效
    p.StartInfo.CreateNoWindow = true;
    p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;

    //采用操作系统自动识别的模式
    p.StartInfo.UseShellExecute = true;

    //要打印的文件路径,可以是WORD,EXCEL,PDF,TXT等等
    p.StartInfo.FileName = @"H:\hjk\test\cshap\xps\H.docx";
    //p.StartInfo.FileName = @"C:\Documents and Settings\Administrator\桌面\MouseWithoutBorders\2.bmp";

    //指定执行的动作,是打印,即print,打开是 open
    p.StartInfo.Verb = "print";

    //开始
    p.Start();
-------------------------
用这种方法,通过“XPS虚拟打印机(Microsoft XPS Document Writer)”进行打印时,会“弹出”要打开文件需要的“应用程序窗口”和“另存为”对话框。

但是,我希望打印过程中“不弹出”对应的“应用程序窗口”和“另存为”对话框,而将打印结果另存为我指定的文件名。
请问如何实现?

如果有例子更好,任何语言都可以。

谢谢大家了!

------解决方案--------------------
XPS虚拟打印机就是生成xps文档的,要想不弹出对话框,只能使用真实的打印机