/// <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; } }
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; }
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); } }
/// <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); }