Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        private static Run CreateParagraphRun(RunProperties runProperties, string paragraphText)
        {
            var run = new Run();

            run.AppendChild(runProperties.CloneNode(true));
            ParseTextForOpenXml(run, paragraphText);

            return(run);
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }