public static void PreviewCandidatePackage(QuestionSet questionSet) { Application wordApp = null; try { wordApp = new Application(); //Init a Document in Word application wordApp.Visible = true; object missing = Missing.Value; var doc = wordApp.Documents.Add(ref missing, ref missing, ref missing, ref missing); //Settings Page DocUtils.SettingsPage(doc); //Insert Header and Footer of the page DocUtils.SettingsHeaderAndFooter(null, doc); //Insert QuestionRequirement of the Exam for (var i = 0; i < questionSet.QuestionList.Count; i++) { var section = i == 0 ? doc.Sections.First : doc.Sections.Add(); for (var j = 0; j < questionSet.QuestionList.ElementAt(i).Candidates.Count; j++) { AppendSection(questionSet.QuestionList.ElementAt(i).Candidates.ElementAt(j), section, i + 1, j + 1, ref missing); } } } catch (Exception e) { wordApp?.Application.Quit(false); throw e; } }
/// <summary> /// Export Doc in path /// </summary> /// <param name="paper"></param> /// <param name="path">Save to location</param> /// <returns></returns> public static void ExportDoc(Paper paper, string path) { Application wordApp = null; try { //Start new Word Application wordApp = new Application { Visible = false, ShowAnimation = false }; object missing = Missing.Value; var doc = wordApp.Documents.Add(missing); //Settings Page DocUtils.SettingsPage(doc); //Setings Header and Footer of the page DocUtils.SettingsHeaderAndFooter(paper, doc); //Insert QuestionRequirement of the Exam for (var i = 0; i < paper.CandidateSet.Count; i++) { AppendTestQuestion(paper.CandidateSet.ElementAt(i), doc, i + 1, ref missing); } //Saving file DocUtils.SavingDocFile(doc, path, paper); } catch (Exception) { // skipped } finally { wordApp?.Application.Quit(false); } }