Exemple #1
0
        /// <summary>
        /// Generiert ein PlaceholderField aus einem OpenXML FieldChar
        /// </summary>
        /// <param name="fieldElements">OpenXML FieldChar Elemente</param>
        /// <returns>PlaceholderField</returns>
        private PlaceholderField ExtractFieldChar(IEnumerable <OpenXmlElement> fieldElements)
        {
            PlaceholderField placeholderField = new PlaceholderField(PlaceholderField.FieldType.FieldChar);

            // Schlüssel extrahieren
            string key = string.Empty;

            foreach (OpenXmlElement curElem in fieldElements)
            {
                if (curElem.Descendants <FieldCode>().FirstOrDefault() != null)
                {
                    continue;
                }

                if (curElem is Run)
                {
                    key += ((Run)curElem).InnerText;
                }
            }

            placeholderField.Key = CleanKey(key);
            placeholderField.NoEmptyParagraph = RemoveEmptyParagraph(placeholderField.Key);
            placeholderField.Elements.AddRange(fieldElements);

            return(placeholderField);
        }
Exemple #2
0
        /// <summary>
        /// Generiert ein PlaceholderField aus einem OpenXML SimpleField
        /// </summary>
        /// <param name="field">OpenXML SimpleField</param>
        /// <returns>PlaceholderField</returns>
        private PlaceholderField ExtractSimpleField(SimpleField field)
        {
            PlaceholderField placeholderField = new PlaceholderField(PlaceholderField.FieldType.SimpleField);

            placeholderField.Key = CleanKey(field.InnerText);
            placeholderField.NoEmptyParagraph = RemoveEmptyParagraph(placeholderField.Key);
            placeholderField.Elements.Add(field);

            return(placeholderField);
        }