Exemple #1
0
        public string  GenerateWordAndPrint(PrintScoreModel model)
        {
            WriteIntoWord wiw = null;

            wiw = new WriteIntoWord();
            var path = System.IO.Directory.GetCurrentDirectory() + "\\" + "PrintTemplate.dotx";

            wiw.CreateNewDocument(path);


            wiw.WriteIntoDocument(TemplateBookMarkName.name, model.Name);
            wiw.WriteIntoDocument(TemplateBookMarkName.IdCard, model.IDCard);
            // wiw.WriteIntoDocument(TemplateBookMarkName.businessType, model.BusinessType);
            wiw.WriteIntoDocument(TemplateBookMarkName.examDate, model.ExamDate);
            // wiw.WriteIntoDocument(TemplateBookMarkName.examAddress, "华山驾校十区一号线");
            wiw.WriteIntoDocument(TemplateBookMarkName.firstExamTime, model.FirstExam.ExamTime);
            wiw.WriteIntoDocument(TemplateBookMarkName.firstExamBreakeRule, model.FirstExam.DedictionRules);
            wiw.WriteIntoDocument(TemplateBookMarkName.firstExamScore, model.FirstExam.Score.ToString());

            wiw.WritePicIntoDocument(TemplateBookMarkName.IDCardImage, model.IDCardPath);
            wiw.WritePicIntoDocument(TemplateBookMarkName.firstExamFirstCapturePhoto, model.FirstExam.CaptureImageFirstPath);
            wiw.WritePicIntoDocument(TemplateBookMarkName.firstExamSecondCapturePhoto, model.FirstExam.CaptureImageSecondPath);
            wiw.WritePicIntoDocument(TemplateBookMarkName.firstExamThirdCapturePhoto, model.FirstExam.CaptureImageThirdPath);

            if (model.SecondExam != null)
            {
                wiw.WriteIntoDocument(TemplateBookMarkName.SecondExamTime, model.SecondExam.ExamTime);
                wiw.WriteIntoDocument(TemplateBookMarkName.SecondExamBreakeRule, model.SecondExam.DedictionRules);
                wiw.WriteIntoDocument(TemplateBookMarkName.SecondExamScore, model.SecondExam.Score.ToString());
                wiw.WritePicIntoDocument(TemplateBookMarkName.SecondExamFirstCapturePhoto, model.SecondExam.CaptureImageFirstPath);
                wiw.WritePicIntoDocument(TemplateBookMarkName.SecondExamSecondCapturePhoto, model.SecondExam.CaptureImageSecondPath);
                wiw.WritePicIntoDocument(TemplateBookMarkName.SecondExamThirdCapturePhoto, model.SecondExam.CaptureImageThirdPath);
            }

            //图片写入指定路径
            path = ReportCardPath + "\\" + model.IDCard + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".doc";
            wiw.Save_CloseDocument(path);

            if (IsPrint)
            {
                wiw.PrintWorld(path);
            }
            //Image=wiw.WordtoImage(path)[0];
            //ImagePath = ReportCardPath + "\\" + model.IDCard + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".jpg";
            // Image.Save(ImagePath, ImageFormat.Jpeg);
            return(path);
        }
Exemple #2
0
        public PrintScoreModel GetPrintScoreModel(string IDCard)
        {
            //首先去查询几天的考试记录有没有该考生

            PrintScoreModel model = new PrintScoreModel();

            var examRecords = examRecordRepository.LoadEntities(s => s.ExamStudent.IdCard == IDCard & DbFunctions.DiffDays(s.CreateTime, DateTime.Now) == 0);

            if (examRecords.Count() <= 0)
            {
                throw new MyException("打印", "今天无该考生信息");
            }

            List <ExamRecord> lstExamRecords = new List <ExamRecord>();

            //todo:bug
            var result    = examRecords.Where(s => s.IsPreliminaryExam == true).OrderByDescending(s => s.CreateTime);
            var FirstExam = result == null ? null : result.FirstOrDefault();

            if (FirstExam == null)
            {
                throw new MyException("打印", "该考生无初考信息");
            }
            FirstExam.ExamStudent = GetExamStudent(FirstExam.ExamStudentId);
            //如果考生为空则重新获取
            result = examRecords.Where(s => s.IsPreliminaryExam == false && s.BeginTime > FirstExam.BeginTime).OrderByDescending(s => s.CreateTime);
            var SecondExam = result == null ? null : result.FirstOrDefault();

            model.Name     = FirstExam.ExamStudent.Name;
            model.IDCard   = FirstExam.ExamStudent.IdCard;
            model.ExamDate = FirstExam.BeginTime.Value.ToString("yyyy-MM-dd");
            //这个从配置文件读取
            model.Title        = "驾驶技能模拟考试成绩单";
            model.IDCardPath   = GetImagePath("IDCard", FirstExam.ExamStudent.IDCardImage);
            model.CarType      = "C1";
            model.BusinessType = "初次申领";
            model.FirstExam    = GetExamMode(FirstExam);
            if (SecondExam != null)
            {
                SecondExam.ExamStudent = FirstExam.ExamStudent;
                model.SecondExam       = GetExamMode(SecondExam);
            }
            return(model);
        }
Exemple #3
0
        private void button2_Click(object sender, EventArgs e)
        {
            //ceshi
            var             picpath    = System.IO.Directory.GetCurrentDirectory() + "\\" + "capture.jpg";
            var             IdCardPath = System.IO.Directory.GetCurrentDirectory() + "\\" + "zp.bmp";
            PrintScoreModel model      = new PrintScoreModel();

            model.Name         = "鲍君";
            model.BusinessType = "初次申请";
            model.CarType      = "C1";
            model.ExamDate     = "2018-08-20";
            model.IDCard       = "5000227119111294612";
            model.IDCardPath   = IdCardPath;
            model.FirstExam    = new ExamMode();
            model.FirstExam.CaptureImageFirstPath = picpath;

            model.FirstExam.CaptureImageSecondPath = picpath;
            model.FirstExam.CaptureImageThirdPath  = picpath;
            model.FirstExam.DedictionRules         = "倒库不入";
            model.FirstExam.Score    = 0;
            model.FirstExam.ExamTime = "19:46:00-20:20:00";

            model.SecondExam = new ExamMode();
            model.SecondExam.CaptureImageFirstPath  = picpath;
            model.SecondExam.CaptureImageSecondPath = picpath;
            model.SecondExam.CaptureImageThirdPath  = picpath;
            model.SecondExam.Score          = 100;
            model.SecondExam.ExamTime       = "19:46:00-20:20:00";
            model.SecondExam.DedictionRules = "倒车前前保险杠未至于终端线上,不超过50厘米";


            model.SecondExam.CaptureImageSecondPath = picpath;
            WriteIntoWord wiw = null;

            wiw = new WriteIntoWord();
            var path = System.IO.Directory.GetCurrentDirectory() + "\\" + "PrintTemplate.dotx";

            wiw.CreateNewDocument(path);


            wiw.WriteIntoDocument(TemplateBookMarkName.name, model.Name);
            wiw.WriteIntoDocument(TemplateBookMarkName.IdCard, model.IDCard);
            wiw.WriteIntoDocument(TemplateBookMarkName.businessType, model.BusinessType);
            wiw.WriteIntoDocument(TemplateBookMarkName.examDate, model.ExamDate);
            wiw.WriteIntoDocument(TemplateBookMarkName.examAddress, "华山驾校十区一号线");
            wiw.WriteIntoDocument(TemplateBookMarkName.firstExamTime, model.FirstExam.ExamTime);
            wiw.WriteIntoDocument(TemplateBookMarkName.firstExamBreakeRule, model.FirstExam.DedictionRules);
            wiw.WriteIntoDocument(TemplateBookMarkName.firstExamScore, model.FirstExam.Score.ToString());

            wiw.WritePicIntoDocument(TemplateBookMarkName.IDCardImage, model.IDCardPath);
            wiw.WritePicIntoDocument(TemplateBookMarkName.firstExamFirstCapturePhoto, model.SecondExam.CaptureImageFirstPath);
            wiw.WritePicIntoDocument(TemplateBookMarkName.firstExamSecondCapturePhoto, model.SecondExam.CaptureImageSecondPath);
            wiw.WritePicIntoDocument(TemplateBookMarkName.firstExamThirdCapturePhoto, model.SecondExam.CaptureImageThirdPath);

            wiw.WriteIntoDocument(TemplateBookMarkName.SecondExamTime, model.SecondExam.ExamTime);
            wiw.WriteIntoDocument(TemplateBookMarkName.SecondExamBreakeRule, model.SecondExam.DedictionRules);
            wiw.WriteIntoDocument(TemplateBookMarkName.SecondExamScore, model.SecondExam.Score.ToString());


            wiw.WritePicIntoDocument(TemplateBookMarkName.SecondExamFirstCapturePhoto, model.SecondExam.CaptureImageFirstPath);
            wiw.WritePicIntoDocument(TemplateBookMarkName.SecondExamSecondCapturePhoto, model.SecondExam.CaptureImageSecondPath);
            wiw.WritePicIntoDocument(TemplateBookMarkName.SecondExamThirdCapturePhoto, model.SecondExam.CaptureImageThirdPath);
            path = System.IO.Directory.GetCurrentDirectory() + "\\" + "print" + ".doc";
            wiw.Save_CloseDocument(path);

            Document doc = new Document();

            doc.LoadFromFile(path);
            //convert to image
            //doc.BuiltinDocumentProperties.PageCount  word的页数,这个属性找了好久才找到啊,官方的demo没看到使用过这个属性。
            for (int i = 0; i < doc.BuiltinDocumentProperties.PageCount; i++)
            {
                System.Drawing.Image image = doc.SaveToImages(i, Spire.Doc.Documents.ImageType.Metafile);
                image.Save(i.ToString() + ".jpg", ImageFormat.Jpeg);
            }
            MessageBox.Show("成功");

            //然后 开始 打印
        }