private string stringToPrint;   //打印内容
        private System.Drawing.Printing.PrintDocument ticketPrintDocument = new System.Drawing.Printing.PrintDocument();    //打印文档实例        /// <summary>
        /// 初始化打印机
        /// </summary>
        private void InitPrint()
        {
            try
            {
                PrintDocument printdocument = new PrintDocument();
                string stringdefault = printdocument.PrinterSettings.PrinterName;                CbPrint.Items.Clear();//ComboBox控件
                CbPrint.Text = stringdefault;
                foreach (string str in PrinterSettings.InstalledPrinters)
                {
                    CbPrint.Items.Add(str);//如果只需要公司的打印机,这里只ADD一次就好
                }
                ticketPrintDocument.PrintPage += new PrintPageEventHandler(PrinterPage);
            }
            catch (System.Exception ex)
            {
                System.Windows.MessageBox.Show(ex.ToString());
            }
        }

        /// <summary>
        /// 打印页面配置
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void PrinterPage(object sender, PrintPageEventArgs e)
        {
            int charactersOnPage = 0;
            int linesPerPage = 0;            e.Graphics.MeasureString(stringToPrint, System.Drawing.SystemFonts.DefaultFont, e.MarginBounds.Size, StringFormat.GenericTypographic, out charactersOnPage, out linesPerPage);
            e.Graphics.DrawString(stringToPrint, System.Drawing.SystemFonts.DefaultFont, System.Drawing.Brushes.Black, e.MarginBounds, StringFormat.GenericTypographic);   //打印东西
        }

        /// <summary>
        /// 打印
        /// </summary>
        /// <param name="name"></param>
        /// <param name="path"></param>
        private void Print(string name, string path)
        {
            try
            {
                ticketPrintDocument.DocumentName = name;
                if (CbPrint.Text != "")
                {
                    ticketPrintDocument.PrinterSettings.PrinterName = CbPrint.Text;
                }
                if (printpath == null)
                {
                    return;
                }                FileStream fs = new FileStream(@path, FileMode.Open);
                StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("gb2312"));
                StandardPrintController spc = new StandardPrintController();                stringToPrint = sr.ReadToEnd();
                ticketPrintDocument.PrintController = spc;
                ticketPrintDocument.Print();                sr.Close();
                fs.Close();
            }
            catch
            {
                ;
            }
        }