/// <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); }
/// <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); }