private static void UpdateWordBlock(OpenXmlPartContainer container, OpenXmlElement block, string content) { OXW.Text new_text = new OXW.Text(content); if (!string.IsNullOrEmpty(content) && (char.IsWhiteSpace(content[0]) || char.IsWhiteSpace(content[content.Length - 1]))) { new_text.Space = SpaceProcessingModeValues.Preserve; } OXW.Run run = new OXW.Run(new_text); OXW.RunProperties originalRunProp = block.Descendants <OXW.RunProperties>().FirstOrDefault(); if (originalRunProp != null) { run.RunProperties = (OXW.RunProperties)originalRunProp.CloneNode(true); } OpenXmlElement finalBlock = run; var cbcontainer = block.Parent; if (null != cbcontainer) { cbcontainer.Parent.ReplaceChild(finalBlock, cbcontainer); } var docPart = container.GetPartsOfType <MainDocumentPart>().FirstOrDefault(); if (docPart == null) { var p = container as OpenXmlPart; if (p != null) { docPart = p.GetParentParts().FirstOrDefault(_ => _ is MainDocumentPart) as MainDocumentPart; } } if (docPart != null) { docPart.Document.Save(); } }
private static Run CreateParagraphRun(RunProperties runProperties, string paragraphText) { var run = new Run(); run.AppendChild(runProperties.CloneNode(true)); ParseTextForOpenXml(run, paragraphText); return(run); }
private static void UpdateWordBlock(OpenXmlPartContainer container, OpenXmlElement block, string content) { OXW.Text new_text = new OXW.Text(content); if (!string.IsNullOrEmpty(content) && (char.IsWhiteSpace(content[0]) || char.IsWhiteSpace(content[content.Length - 1]))) { new_text.Space = SpaceProcessingModeValues.Preserve; } OXW.Run run = new OXW.Run(new_text); OXW.RunProperties originalRunProp = block.Descendants <OXW.RunProperties>().FirstOrDefault(); if (originalRunProp != null) { run.RunProperties = (OXW.RunProperties)originalRunProp.CloneNode(true); } OpenXmlElement finalBlock = run; if ("SdtRun" == block.Parent.GetType().Name) { // case text block in a content control var cbcontainer = block.Parent; cbcontainer?.Parent.ReplaceChild(finalBlock, cbcontainer); } else { // case text block is in a text box var oldTxt = block.Descendants <OXW.Run>().FirstOrDefault()?.Parent; oldTxt?.RemoveAllChildren(); oldTxt?.AppendChild(finalBlock); } var docPart = container.GetPartsOfType <MainDocumentPart>().FirstOrDefault(); if (docPart == null) { var p = container as OpenXmlPart; if (p != null) { docPart = p.GetParentParts().FirstOrDefault(_ => _ is MainDocumentPart) as MainDocumentPart; } } docPart?.Document.Save(); }
private static void ModifyWordParagraphTextContent(OpenXmlElement paragraph, string txt, string txtColor, string effect) { if (null == paragraph) { return; } OXW.Run run = paragraph.Descendants <OXW.Run>().FirstOrDefault(); if (null != run) { run = run.CloneNode(true) as OXW.Run; paragraph.RemoveAllChildren <OXW.Run>(); } else { run = new OXW.Run(); } OXW.Text text = run?.Descendants <OXW.Text>().FirstOrDefault(); text = (null == text ? new OXW.Text() : text.CloneNode(true) as OXW.Text); run?.RemoveAllChildren <OXW.Text>(); if (txtColor != string.Empty && effect != string.Empty) { OXW.RunProperties runProperties1 = run?.Descendants <OXW.RunProperties>().FirstOrDefault(); if (runProperties1 != null) { runProperties1 = runProperties1.CloneNode(true) as OXW.RunProperties; run.RemoveAllChildren <OXW.RunProperties>(); } else { runProperties1 = new OXW.RunProperties(); } switch (effect) { case "bold": OXW.Bold bold2 = new OXW.Bold(); runProperties1?.Append(bold2); break; case "italic": OXW.Italic italic2 = new OXW.Italic(); runProperties1?.Append(italic2); break; case "bold+italic": OXW.Bold bold3 = new OXW.Bold(); runProperties1?.Append(bold3); OXW.Italic italic3 = new OXW.Italic(); runProperties1?.Append(italic3); break; } OXW.Color color2 = new OXW.Color() { Val = txtColor }; runProperties1?.Append(color2); run?.Append(runProperties1); } if (text != null) { text.Text = txt; if (!string.IsNullOrEmpty(txt) && (char.IsWhiteSpace(txt[0]) || char.IsWhiteSpace(txt[txt.Length - 1]))) { text.Space = SpaceProcessingModeValues.Preserve; } run?.Append(text); } paragraph.Append(run); }
public Run GetRun(RunProperties runProperties) { var run = new Run { RunProperties = runProperties.CloneNode() }; run.RunProperties.AppendChild(new NoProof()); var drawing = new Drawing(); var inline = new Inline { DistanceFromTop = (UInt32Value)0U, DistanceFromBottom = (UInt32Value)0U, DistanceFromLeft = (UInt32Value)0U, DistanceFromRight = (UInt32Value)0U }; var nonVisualGraphicFrameDrawingProperties1 = new Wp.NonVisualGraphicFrameDrawingProperties(); var graphicFrameLocks1 = new A.GraphicFrameLocks() { NoChangeAspect = true }; graphicFrameLocks1.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main"); nonVisualGraphicFrameDrawingProperties1.Append(graphicFrameLocks1); var graphic1 = new Graphic(); graphic1.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main"); var graphicData1 = new GraphicData() { Uri = "http://schemas.openxmlformats.org/drawingml/2006/picture" }; var picture1 = new DocumentFormat.OpenXml.Drawing.Pictures.Picture(); picture1.AddNamespaceDeclaration("pic", "http://schemas.openxmlformats.org/drawingml/2006/picture"); var nonVisualPictureProperties1 = new DocumentFormat.OpenXml.Drawing.Pictures.NonVisualPictureProperties(); var nonVisualDrawingProperties1 = new DocumentFormat.OpenXml.Drawing.Pictures.NonVisualDrawingProperties() { Id = (UInt32Value)1U, Name = _config.Name }; var nonVisualPictureDrawingProperties1 = new DocumentFormat.OpenXml.Drawing.Pictures.NonVisualPictureDrawingProperties(); nonVisualPictureProperties1.Append(nonVisualDrawingProperties1); nonVisualPictureProperties1.Append(nonVisualPictureDrawingProperties1); var blipFill1 = new Pic.BlipFill(); var blip1 = new Blip() { Embed = _config.Name }; var blipExtensionList1 = new BlipExtensionList(); var blipExtension1 = new BlipExtension() { Uri = "{28A0092B-C50C-407E-A947-70E740481C1C}" }; var useLocalDpi1 = new A14.UseLocalDpi() { Val = false }; useLocalDpi1.AddNamespaceDeclaration("a14", "http://schemas.microsoft.com/office/drawing/2010/main"); blipExtension1.Append(useLocalDpi1); blipExtensionList1.Append(blipExtension1); blip1.Append(blipExtensionList1); var stretch1 = new Stretch(); var fillRectangle1 = new FillRectangle(); stretch1.Append(fillRectangle1); blipFill1.Append(blip1); blipFill1.Append(stretch1); var shapeProperties1 = new DocumentFormat.OpenXml.Drawing.Pictures.ShapeProperties(); var transform2D1 = new Transform2D(); var offset1 = new Offset() { X = 0L, Y = 0L }; transform2D1.Append(offset1); var presetGeometry1 = new PresetGeometry() { Preset = ShapeTypeValues.Rectangle }; var adjustValueList1 = new AdjustValueList(); presetGeometry1.Append(adjustValueList1); shapeProperties1.Append(transform2D1); shapeProperties1.Append(presetGeometry1); picture1.Append(nonVisualPictureProperties1); picture1.Append(blipFill1); picture1.Append(shapeProperties1); graphicData1.Append(picture1); graphic1.Append(graphicData1); inline.Append(nonVisualGraphicFrameDrawingProperties1); inline.Append(graphic1); drawing.Append(inline); run.AppendChild(drawing); return(run); }
public Run GetRun(RunProperties runProperties) { var run = new Run { RunProperties = runProperties.CloneNode() }; if (_config.Bold.HasValue) { run.RunProperties.Bold = new Bold { Val = OnOffValue.FromBoolean(_config.Bold.Value) }; } if (_config.Italic.HasValue) { run.RunProperties.Italic = new Italic { Val = OnOffValue.FromBoolean(_config.Italic.Value) }; } if (_config.Underline.HasValue) { run.RunProperties.Underline = new Underline { Val = _config.Underline }; } if (_config.FontSize != null) { run.RunProperties.FontSize = new FontSize { Val = _config.FontSize }; } if (!string.IsNullOrEmpty(this)) { var lines = ((string)this).Split(new[] { "\r\n", "\n" }, StringSplitOptions.None).AsIndexed(); foreach (var line in lines) { if (!line.IsFirst) { run.AppendChild(new Break()); } if (!string.IsNullOrEmpty(line.Value)) { run.AppendChild(new Text(line) { Space = SpaceProcessingModeValues.Preserve }); } } } if (_config.Value == null) { run.AppendChild(new Break()); } return(run); }