コード例 #1
0
        /// <summary>
        ///     Append QuestionRequirement of Question
        /// </summary>
        /// <param name="q"></param>
        /// <param name="section"></param>
        private static void AppendTestQuestion(Candidate q, Document doc, int questionNumber, ref object missing)
        {
            try
            {
                var paraQuestionNumber = doc.Content.Paragraphs.Add(ref missing);
                var question           = "Question " + questionNumber + ":";
                paraQuestionNumber.Range.Text = question;
                var questionNumberRange = doc.Range(paraQuestionNumber.Range.Start,
                                                    paraQuestionNumber.Range.Start + question.Length);
                questionNumberRange.Font.Bold      = 1;
                questionNumberRange.Font.Underline = WdUnderline.wdUnderlineSingle;

                paraQuestionNumber.Format.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;
                paraQuestionNumber.Range.Font.Name  = "Arial";

                paraQuestionNumber.Range.InsertParagraphAfter();

                var paraContent = doc.Content.Paragraphs.Add(ref missing);
                paraContent.Range.Font.Bold      = 0;
                paraContent.Range.Font.Underline = WdUnderline.wdUnderlineNone;
                paraContent.Range.Text           = q.QuestionRequirement;
                paraContent.Format.Alignment     = WdParagraphAlignment.wdAlignParagraphLeft;
                paraContent.Range.InsertParagraphAfter();

                var images    = q.Illustration;
                var i         = 0;
                var imageName = AppDomain.CurrentDomain.BaseDirectory + @"/" + q.CandidateId + ".bmp";
                foreach (var image in images)
                {
                    if (ImageUtils.Base64StringToImage(image) != null)
                    {
                        var   img     = ImageUtils.Base64StringToImage(image);
                        Image tempImg = new Bitmap(img);
                        tempImg.Save(imageName);
                        var paraImage = doc.Content.Paragraphs.Add(ref missing);
                        paraImage.Range.InlineShapes.AddPicture(imageName);
                        paraImage.Format.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                        var paraImageDescription = doc.Content.Paragraphs.Add(ref missing);
                        paraImageDescription.Range.Text       = "Picture " + questionNumber + "." + ++i + "";
                        paraImageDescription.Format.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                        paraImageDescription.Range.InsertParagraphAfter();
                    }
                }
                if (File.Exists(imageName))
                {
                    File.Delete(imageName);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #2
0
        private void renderTab(int i)
        {
            var imgData = Images[i];
            var image   = ImageUtils.Base64StringToImage(imgData);

            var pb = new PictureBox();

            pb.Dock  = DockStyle.Fill;
            pb.Image = image;

            var tab = new TabPage("Image " + (i + 1));

            tab.AutoScroll = true;
            tab.Controls.Add(pb);

            tabControl.TabPages[i] = tab;
        }
コード例 #3
0
        private void renderImages()
        {
            tabControl.TabPages.Clear();
            for (var i = 0; i < Images.Count; i++)
            {
                var imgData = Images[i];
                var image   = ImageUtils.Base64StringToImage(imgData);

                var pb = new PictureBox();
                pb.Dock  = DockStyle.Fill;
                pb.Image = image;

                var tab = new TabPage("Image " + (i + 1));
                tab.AutoScroll = true;
                tab.Controls.Add(pb);

                tabControl.TabPages.Add(tab);
            }
        }
コード例 #4
0
        /// <summary>
        ///     Append QuestionRequirement of Question
        /// </summary>
        /// <param name="q"></param>
        /// <param name="section"></param>
        private static void AppendSection(Candidate q, Section section, int questionNumber, int candidateNumber,
                                          ref object missing)
        {
            //Insert Title of question
            var paraTitle = section.Range.Paragraphs.Add(ref missing);

            paraTitle.Range.Text                       = "Question " + questionNumber + "." + candidateNumber + ":";
            paraTitle.Range.Font.Name                  = "Arial";
            paraTitle.Range.Font.Bold                  = 1;
            paraTitle.Range.Font.Underline             = WdUnderline.wdUnderlineSingle;
            paraTitle.Range.ParagraphFormat.LeftIndent = 0;
            paraTitle.Format.Alignment                 = WdParagraphAlignment.wdAlignParagraphLeft;
            paraTitle.Range.InsertParagraphAfter();

            //Insert question requirement
            if (!string.IsNullOrEmpty(q.QuestionRequirement))
            {
                var paraRequirement = section.Range.Paragraphs.Add(ref missing);
                q.QuestionRequirement = q.QuestionRequirement.Trim();
                //if (!q.QuestionRequirement.EndsWith(".")) q.QuestionRequirement = string.Concat(q.QuestionRequirement, ".");
                paraRequirement.Range.Text                       = q.QuestionRequirement;
                paraRequirement.Range.Font.Name                  = "Arial";
                paraRequirement.Range.Font.Bold                  = 0;
                paraRequirement.Range.Font.Underline             = WdUnderline.wdUnderlineNone;
                paraRequirement.Range.Font.Italic                = 0;
                paraRequirement.Range.ParagraphFormat.LeftIndent = 0;
                paraRequirement.Format.Alignment                 = WdParagraphAlignment.wdAlignParagraphLeft;
                paraRequirement.Range.InsertParagraphAfter();
            }

            //Insert illustration images
            var images = q.Illustration;
            var i      = 0;

            foreach (var image in images)
            {
                if (ImageUtils.Base64StringToImage(image) != null)
                {
                    var   img       = ImageUtils.Base64StringToImage(image);
                    Image tempImg   = new Bitmap(img);
                    var   imageName = AppDomain.CurrentDomain.BaseDirectory + @"/tmpImg.bmp";
                    tempImg.Save(imageName);
                    var paraImage = section.Range.Paragraphs.Add(ref missing);
                    paraImage.Range.InlineShapes.AddPicture(imageName);
                    paraImage.Format.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                    paraImage.Range.ParagraphFormat.LeftIndent = 0;

                    var paraImageDescription = section.Range.Paragraphs.Add(ref missing);
                    paraImageDescription.Range.Text                       = "Picture " + questionNumber + "." + ++i + "";
                    paraImageDescription.Format.Alignment                 = WdParagraphAlignment.wdAlignParagraphCenter;
                    paraImageDescription.Range.Font.Bold                  = 0;
                    paraImageDescription.Range.Font.Underline             = WdUnderline.wdUnderlineNone;
                    paraImageDescription.Range.ParagraphFormat.LeftIndent = 0;
                    paraImageDescription.Range.InsertParagraphAfter();
                }
            }

            //Insert Solution query
            InsertBlock("Solution: ", q.Solution, true, section, ref missing);

            //Insert Test query
            InsertBlock("Test query: ", q.TestQuery, true, section, ref missing);
        }