Is there any way to transform <sup>
<sub>
html tag to superscript and subscript during mailmerge?
@softboy You can achieve this using IFieldMergingCallback
and DocumentBuilder.InsertHtml
method. For example see the following code:
Document doc = new Document(@"C:\Temp\in.docx");
doc.MailMerge.FieldMergingCallback = new InsertHtmlFieldMergingCallback();
doc.MailMerge.Execute(new string[] { "htmlField"}, new string[] { "this is <sup>superscript</sup> and this is <sub>subscript</sub>" });
doc.Save(@"C:\Temp\out.docx");
private class InsertHtmlFieldMergingCallback : IFieldMergingCallback
{
public void FieldMerging(FieldMergingArgs args)
{
if (args.FieldName.Equals("htmlField"))
{
DocumentBuilder builder = new DocumentBuilder(args.Document);
builder.MoveToField(args.Field, true);
builder.InsertHtml((string)args.FieldValue);
args.FieldValue = null;
}
}
public void ImageFieldMerging(ImageFieldMergingArgs args)
{
// Do nothing
}
}