Csharp 打印Word文件默認打印機或選擇打印機設置代碼

来源:互联网 发布:vb机器视觉编程 编辑:程序博客网 时间:2024/05/19 03:27
 //打印文檔                    object nullobj = Missing.Value;                    //aDoc = wordApp.Documents.Open(ref file,                    //                            ref nullobj, ref nullobj, ref nullobj,                    //                            ref nullobj, ref nullobj, ref nullobj,                    //                            ref nullobj, ref nullobj, ref nullobj,                    //                            ref nullobj, ref nullobj, ref nullobj,                    //                            ref nullobj, ref nullobj, ref nullobj);                    //aDoc.Activate();                    wordApp.Visible = false;                    //wordApp.ActivePrinter = "My Printer Name";                    try                    {                        // 參考:http://msdn.microsoft.com/en-us/library/b9f0ke7y.aspx                         //塗聚文 2011-11-04 缔友计算机信息技术有限公司                        //1。默認打印機設置                        PrintDialog print = new PrintDialog();                        print.PrinterSettings = new PrinterSettings();                        strDefaultPrinter = print.PrinterSettings.PrinterName;                        aDoc.Application.ActivePrinter = strDefaultPrinter;                        object copies = "1";                        object pages = "1";                        object range = Word.WdPrintOutRange.wdPrintCurrentPage;                        object items = Word.WdPrintOutItem.wdPrintDocumentContent;                        object pageType = Word.WdPrintOutPages.wdPrintAllPages;                        object oTrue = true;                        object oFalse = false;                        aDoc.PrintOut(ref nullobj, ref nullobj, ref nullobj, ref nullobj,                        ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj,                        ref nullobj, ref nullobj, ref nullobj, ref nullobj,                        ref nullobj, ref nullobj);                    //    aDoc.PrintOut(ref oTrue, ref oFalse, ref range, ref nullobj,                    //ref nullobj, ref nullobj, ref items, ref copies, ref pages, ref pageType, ref nullobj, ref nullobj,                    //ref nullobj, ref nullobj, ref nullobj, ref nullobj,                    //ref nullobj, ref nullobj);                        //2。弹出打印機设置                        //塗聚文 2011-11-04 缔友计算机信息技术有限公司                        //int dialogResult = wordApp.Dialogs[Microsoft.Office.Interop.Word.WdWordDialog.wdDialogFilePrint].Show(ref nullobj);                        //if (dialogResult == 1)                        //{                        //    aDoc.PrintOut(ref nullobj, ref nullobj, ref nullobj, ref nullobj,                        //                 ref nullobj, ref nullobj, ref nullobj, ref nullobj,                        //                 ref nullobj, ref nullobj, ref nullobj, ref nullobj,                        //                 ref nullobj, ref nullobj, ref nullobj, ref nullobj,                        //                 ref nullobj, ref nullobj);                        //}                        while (wordApp.BackgroundPrintingStatus > 0)                        {                            System.Threading.Thread.Sleep(250);                        }                        Object saveChanges = Word.WdSaveOptions.wdSaveChanges;                        Object originalFormat = Type.Missing;                        Object routeDocument = Type.Missing;                        wordApp.Documents.Close(ref saveChanges,                            ref originalFormat, ref routeDocument);                        Object saveChangesQuit = Word.WdSaveOptions.wdSaveChanges;                        Object originalFormatQuit = Type.Missing;                        Object routeDocumentQuit = Type.Missing;                        wordApp.Quit(ref saveChangesQuit,                            ref originalFormatQuit, ref routeDocumentQuit);                    }                    catch (Exception ex)                    {                        ex.ToString();                        MessageBox.Show("請設定默認打印機");                    }                    finally                    {                        //MessageBox.Show("你設定的默認打印機是:"+strDefaultPrinter.ToString());                    }                }