using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Drawing.Printing; using System.Windows.Forms; using System.Reflection; namespace dccdc.Selfhelp { static class Program { /// /// 应用程序的主入口点。 /// [STAThread] static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Application.StartupPath + "\\")); log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType).Info(DateTime.Now.ToString()+"程序启动成功!"); // return; // Application.Run(new printSuccess()); //return; //try //{ // Application.EnableVisualStyles(); // Application.SetCompatibleTextRenderingDefault(false); // Application.Run(new frm_ymVideo()); // return; //} //catch (Exception ex) //{ // MessageBox.Show(ex.Message + ex.StackTrace); //} if (args.Length > 0) { if (args[0] == "-t") { Application.Run(new frm_TestPrinter()); } else if (args[0] == "-q") { Application.Run(new frm_CodeReader()); } else if (args[0] == "-s") { Application.Run(new frm_QRSetting()); } else if (args[0] == "-yy") { Application.Run(new frm_SpeakConfig()); } else if (args[0] == "-p") { PrintDocument printDoc = new PrintDocument(); printDoc.PrinterSettings.PrinterName = printDoc.DefaultPageSettings.PrinterSettings.PrinterName; printDoc.PrintController = new StandardPrintController(); if (!printDoc.PrinterSettings.IsValid) { MessageBox.Show("无法连接到打印机" + printDoc.PrinterSettings.PrinterName, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } printDoc.PrintPage += new PrintPageEventHandler(printDoc_PrintPage); PageSettings pst = new PageSettings(); printDoc.DocumentName = "测试打印"; pst.PaperSize = new PaperSize("MYA5", 617, 875); printDoc.DefaultPageSettings = pst; try { printDoc.Print(); //m_streams[m_currentPageIndex].Close(); } catch (System.Exception ex) { //log4net.LogManager.GetLogger(this.GetType()).Error("打印失败:" + ex.Message); MessageBox.Show("打印失败:" + ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } } else { string banben = System.Configuration.ConfigurationManager.AppSettings["banben"]; if (string.IsNullOrEmpty(banben) || banben == "1") { Application.Run(new MainForm()); } else if (banben == "2") { Application.Run(new frm_main3()); } else if (banben == "3") { log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType).Info(DateTime.Now.ToString()+"版本=3!"); try { Application.Run(new frm_main_ym()); } catch(Exception ex) { log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType).Info(DateTime.Now.ToString() + ex.Message+ex.StackTrace); } } else if (banben == "4") { Application.Run(new frm_main_xg()); } else { Application.Run(new frm_main3()); //Application.Run(new frm_ymVideo()); } } } static void printDoc_PrintPage(object sender, PrintPageEventArgs e) { //string basepath = AppDomain.CurrentDomain.BaseDirectory;//应用程序的路径 //basepath = basepath + (basepath.EndsWith("\\") ? "rdlctemp\\" : "\\rdlctemp\\"); //throw new NotImplementedException(); Image img = Image.FromFile(Application.StartupPath + "\\63901.tiff"); Bitmap myBitmap = new Bitmap(img); myBitmap.RotateFlip(RotateFlipType.Rotate90FlipNone); Rectangle adjustedRect = new Rectangle( e.PageBounds.Left - (int)(e.PageSettings.HardMarginX), e.PageBounds.Top - (int)(e.PageSettings.HardMarginY), e.PageBounds.Width, e.PageBounds.Height); //log4net.LogManager.GetLogger(this.GetType()).Info("打印机的硬件变局X:" + e.PageSettings.HardMarginX + "Y:" + e.PageSettings.HardMarginY); //int width_heng = e.PageBounds.Width; //int height_heng = e.PageBounds.Height; //if (e.PageSettings.Landscape) //{ // adjustedRect.Width = height_heng; // adjustedRect.Height = width_heng; //} //pageImage.Save(basepath + DateTime.Now.ToString("yyyyMMddhhmmssfff") + ".Emf", ImageFormat.Emf); // 为打印图片画一个白色背景 e.Graphics.FillRectangle(Brushes.White, adjustedRect); // 画打印图片内容 e.Graphics.DrawImage(myBitmap, adjustedRect); //e.Graphics.DrawRectangle(Pens.Black, adjustedRect); //pageImage = null; //m_streams[m_currentPageIndex] = null; //m_currentPageIndex++; e.HasMorePages = false; } } }