/// <summary> /// Replace all text placeholders in paragraph /// </summary> /// <param name="paragraph"></param> void ReplaceText(Paragraph paragraph) { var parent = paragraph.Parent; //get parent element - to be used when removing placeholder var dataParam = new PowerPointParameter(); if (ContainsParam(paragraph, ref dataParam)) //check if paragraph is on our parameter list { //insert text list if (dataParam.textcolor != null) { var newParagraph = CreateStyledParagraph(dataParam.textcolor.Trim(), dataParam.FontSize, dataParam.bold, dataParam.italic, dataParam.color); parent.InsertBefore(newParagraph, paragraph); paragraph.Remove();//delete placeholder } else { //insert text line var param = CloneParaGraphWithStyles(paragraph, dataParam.Name, dataParam.Text); // create new param - preserve styles parent.InsertBefore(param, paragraph); //insert new element paragraph.Remove(); //delete placeholder } } }
/// <summary> /// Checks if process parameter to replace with text or image /// </summary> /// <param name="paragraph"></param> /// <returns></returns> public bool ContainsParam(Paragraph paragraph, ref PowerPointParameter dataParam) { foreach (var param in this.PowerPointParameters) { if (!string.IsNullOrEmpty(param.Name)) { dataParam = param; return(true); } } return(false); }