158 lines
6.3 KiB
C#
158 lines
6.3 KiB
C#
|
|
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
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 应用程序的主入口点。
|
|||
|
|
/// </summary>
|
|||
|
|
[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;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|