private void MatchFont2() { string s = System.IO.Directory.GetCurrentDirectory(); workingDoc.SaveAs("C:/Users/minad/AppData/Local/WordTestData/tmp.docx"); DocumentFormat.OpenXml.Packaging.WordprocessingDocument doc = null; try { doc = DocumentFormat.OpenXml.Packaging.WordprocessingDocument.Open( "C:/Users/minad/AppData/Local/WordTestData/con_Rong_chau_Tien.docx", false); } catch (DocumentFormat.OpenXml.Packaging.OpenXmlPackageException) { return; } catch (System.IO.IOException) { return; } DocumentFormat.OpenXml.Wordprocessing.Body body = doc.MainDocumentPart.Document.Body; //int idx = -1; foreach (DocumentFormat.OpenXml.Wordprocessing.Paragraph p in body.ChildElements.OfType <DocumentFormat.OpenXml.Wordprocessing.Paragraph>()) { DocumentFormat.OpenXml.Wordprocessing.Run r = p.ChildElements.First <DocumentFormat.OpenXml.Wordprocessing.Run>(); while (r != null) { Console.WriteLine(r.InnerText); r = r.NextSibling <DocumentFormat.OpenXml.Wordprocessing.Run>(); } } doc.Close(); }
private List <Paragraph> MultipleChoiceQuestion(Question question, int number) { var paragraphs = new List <Paragraph>(); var json = question.Options; var options = JsonConvert.DeserializeObject <Dictionary <string, string> >(json); var run = new Run(); var iconIfMultiple = question.QuestionTypeId == 4 ? "*" : ""; var text = new Text($" {number}. {question.Title}. {iconIfMultiple}"); text.Space = SpaceProcessingModeValues.Preserve; run.Append(text); paragraphs.Add(new Paragraph(run)); foreach (var option in options) { var optionText = new Text($" {option.Key} - {option.Value}"); optionText.Space = SpaceProcessingModeValues.Preserve; paragraphs.Add(new Paragraph(new Run(optionText))); } paragraphs.Add(new Paragraph(new Run(new Text("")))); return(paragraphs); }
private static void AppendAllOoXml(A.GraphicData graphicData, Wpg.WordprocessingGroup wordprocessingGroup, A.Graphic graphic, Wp.Inline inline, Drawing drawing, Run run) { graphicData.Append(wordprocessingGroup); graphic.Append(graphicData); inline.Append(graphic); drawing.Append(inline); run.Append(drawing); }
private List <Paragraph> testRun(Question question, int number) { var run = new Run(); var text = new Text($"{number}. {question.Title}"); run.AppendChild(text); return(new List <Paragraph> { new Paragraph(run) }); }
public override IEnumerable<OpenXmlElement> ToOpenXmlElements(DocumentFormat.OpenXml.Packaging.MainDocumentPart mainDocumentPart) { var result = new DocumentFormat.OpenXml.Wordprocessing.Run(); var runProperties = new DocumentFormat.OpenXml.Wordprocessing.RunProperties(); var boldProperty = new DocumentFormat.OpenXml.Wordprocessing.Bold(); runProperties.Append(boldProperty); result.Append(runProperties); ForEachChild(x => result.Append(x.ToOpenXmlElements(mainDocumentPart))); return new List<OpenXmlElement> { result }; }
private List <Paragraph> TrueOrFalseQuestion(Question question, int number) { var paragraphs = new List <Paragraph>(); var run = new Run(); var text = new Text($" {number}. {question.Title}. _______"); text.Space = SpaceProcessingModeValues.Preserve; run.Append(text); paragraphs.Add(new Paragraph(run)); paragraphs.Add(new Paragraph(new Run(new Text("")))); return(paragraphs); }
private List <Paragraph> OpenEndedAnswerQuestions(Question question, int number) { var paragraphs = new List <Paragraph>(); var run = new Run(); var text = new Text($" {number}. {question.Title}. "); text.Space = SpaceProcessingModeValues.Preserve; run.Append(text); paragraphs.Add(new Paragraph(run)); paragraphs.Add(new Paragraph(new Run(new Break()))); paragraphs.Add(new Paragraph(new Run(new Break()))); return(paragraphs); }
public RunMatch(DocumentFormat.OpenXml.Wordprocessing.Run run) { Run = run; }
public Run GenerateRun() { string module = $"{_product}.{_class}.{MethodBase.GetCurrentMethod().Name}()"; _telemetry.Write(module, "Verbose", "Called"); //start off progress monitoring Progress pb = new Progress(); pb.TopLeft = _topLeft; //lists of objects for drawing _atomLabelCharacters = new List <AtomLabelCharacter>(); _bondLines = new List <BondLine>(); Stopwatch swr = new Stopwatch(); Stopwatch sw = new Stopwatch(); //Create a run Run run = new Run(); sw.Start(); swr.Start(); //set the median bond length _medianBondLength = GeometryTool.GetMedianBondLength2D(_chemistryModel.AllBonds); int moleculeNo = 0; foreach (Molecule mol in _chemistryModel.Molecules) { moleculeNo++; // Step 1- gather the atom information together Debug.WriteLine($"{module} Starting Step 1"); //_telemetry.Write(module, "Verbose", $"Starting Step 1 for molecule {moleculeNo}"); ProcessAtoms(mol, pb, moleculeNo, _pt); Debug.WriteLine("Elapsed time " + sw.ElapsedMilliseconds.ToString("##,##0") + "ms"); //_telemetry.Write(module, "Timing", $"Step 1 for molecule {moleculeNo} took " + sw.ElapsedMilliseconds.ToString("#,##0", CultureInfo.InvariantCulture) + "ms"); sw.Reset(); sw.Start(); // Step 2- gather the bond information together Debug.WriteLine($"{module} Starting Step 2"); //_telemetry.Write(module, "Verbose", $"Starting Step 2 for molecule {moleculeNo}"); ProcessBonds(mol, pb, moleculeNo); Debug.WriteLine("Elapsed time " + sw.ElapsedMilliseconds.ToString("##,##0") + "ms"); //_telemetry.Write(module, "Timing", $"Step 2 for molecule {moleculeNo} took " + sw.ElapsedMilliseconds.ToString("#,##0", CultureInfo.InvariantCulture) + "ms"); sw.Reset(); sw.Start(); if (_options.ShowRingCentres) { // Save Rings for later foreach (Ring ring in mol.Rings) { _rings.Add(ring.UniqueID, ring); } } } Debug.WriteLine($"{module} Starting Step 3"); //_telemetry.Write(module, "Verbose", "Starting Step 3"); IncreaseCanvasSize(); Debug.WriteLine("Elapsed time " + sw.ElapsedMilliseconds.ToString("##,##0") + "ms"); //_telemetry.Write(module, "Timing", "Step 3 took " + sw.ElapsedMilliseconds.ToString("#,##0", CultureInfo.InvariantCulture) + "ms"); sw.Reset(); sw.Start(); if (_options.ClipLines) { Debug.WriteLine($"{module} Starting Step 4"); //_telemetry.Write(module, "Verbose", "Starting Step 4"); #region Step 4 - Shrink bond lines ShrinkBondLinesPass1(pb); ShrinkBondLinesPass2(pb); #endregion Step 4 - Shrink bond lines Debug.WriteLine("Elapsed time " + sw.ElapsedMilliseconds.ToString("##,##0") + "ms"); //_telemetry.Write(module, "Timing", "Step 4 took " + sw.ElapsedMilliseconds.ToString("#,##0", CultureInfo.InvariantCulture) + "ms"); sw.Reset(); sw.Start(); } Debug.WriteLine($"{module} Starting Step 5"); //_telemetry.Write(module, "Verbose", "Starting Step 5"); #region Step 5 - Create main OoXml drawing objects Drawing drawing1 = new Drawing(); A.Graphic graphic1 = CreateGraphic(); A.GraphicData graphicData1 = CreateGraphicData(); Wpg.WordprocessingGroup wordprocessingGroup1 = new Wpg.WordprocessingGroup(); // Create Inline Drawing using canvas extents Wp.Inline inline1 = CreateInline(graphicData1, wordprocessingGroup1); #endregion Step 5 - Create main OoXml drawing objects Debug.WriteLine("Elapsed time " + sw.ElapsedMilliseconds.ToString("##,##0") + "ms"); //_telemetry.Write(module, "Timing", "Step 5 took " + sw.ElapsedMilliseconds.ToString("#,##0", CultureInfo.InvariantCulture) + "ms"); sw.Reset(); sw.Start(); #region Step 5a - Diagnostics if (_options.ShowMoleculeBoundingBoxes) { DrawBox(wordprocessingGroup1, _modelExtents, "00ff00", 1); foreach (Molecule mol in _chemistryModel.Molecules) { DrawBox(wordprocessingGroup1, mol.BoundingBox, "0000ff", 1); DrawBox(wordprocessingGroup1, MoleculeExtents(mol), "ff0000", 1); } DrawBox(wordprocessingGroup1, _canvasExtents, "000000", 1); } if (_options.ShowRingCentres) { ShowRingCentres(wordprocessingGroup1); } if (_options.ShowAtomPositions) { ShowAtomCentres(wordprocessingGroup1); } if (_options.ShowHulls) { ShowConvexHulls(wordprocessingGroup1); } #endregion Step 5a - Diagnostics Debug.WriteLine($"{module} Starting Step 6"); //_telemetry.Write(module, "Verbose", "Starting Step 6"); #region Step 6 - Create and append OoXml objects for all Bond Lines AppendBondOoxml(pb, wordprocessingGroup1); #endregion Step 6 - Create and append OoXml objects for all Bond Lines Debug.WriteLine("Elapsed time " + sw.ElapsedMilliseconds.ToString("##,##0") + "ms"); //_telemetry.Write(module, "Timing", "Step 6 took " + sw.ElapsedMilliseconds.ToString("#,##0", CultureInfo.InvariantCulture) + "ms"); sw.Reset(); sw.Start(); Debug.WriteLine($"{module} Starting Step 7"); //_telemetry.Write(module, "Verbose", "Starting Step 7"); #region Step 7 - Create and append OoXml objects for Atom Labels AppendAtomLabelOoxml(pb, wordprocessingGroup1); #endregion Step 7 - Create and append OoXml objects for Atom Labels Debug.WriteLine("Elapsed time " + sw.ElapsedMilliseconds.ToString("##,##0") + "ms"); //_telemetry.Write(module, "Timing", "Step 7 took " + sw.ElapsedMilliseconds.ToString("#,##0", CultureInfo.InvariantCulture) + "ms"); sw.Reset(); sw.Start(); Debug.WriteLine($"{module} Starting Step 8"); //_telemetry.Write(module, "Verbose", "Starting Step 8"); #region Step 8 - Append OoXml drawing objects to OoXml run object AppendAllOoXml(graphicData1, wordprocessingGroup1, graphic1, inline1, drawing1, run); #endregion Step 8 - Append OoXml drawing objects to OoXml run object Debug.WriteLine("Elapsed time " + sw.ElapsedMilliseconds.ToString("##,##0") + "ms"); //_telemetry.Write(module, "Timing", "Step 8 took " + sw.ElapsedMilliseconds.ToString("#,##0", CultureInfo.InvariantCulture) + "ms"); sw.Reset(); sw.Start(); double abl = _chemistryModel.MeanBondLength; Debug.WriteLine("Elapsed time for GenerateRun " + swr.ElapsedMilliseconds.ToString("#,##0", CultureInfo.InvariantCulture) + "ms"); _telemetry.Write(module, "Timing", $"Rendering {_chemistryModel.Molecules.Count} molecules with {_chemistryModel.AllAtoms.Count} atoms and {_chemistryModel.AllBonds.Count} bonds took {swr.ElapsedMilliseconds.ToString("##,##0")} ms; Average Bond Length: {abl.ToString("#0.00")}"); ShutDownProgress(pb); return(run); }