Mail Merge image

Hi
How can I merge a image into a MergeField.
The image was generated by code and stored in a specific location.
I already have a Image:ImageName merge field in my template document.
I know using ImageFieldMerging will solve the problem but I don’t know how to use it.

Can you please provide code examples to solve this problem?

Hi Johnane,

Thanks for your inquiry. Please try running the following simple code against attached template document:

Document doc = new Document(MyDir + @"inp.docx");
doc.MailMerge.FieldMergingCallback = new HandleMergeField();
doc.MailMerge.Execute(GetDataTable());
doc.Save(MyDir + @"16.4.0.docx");
private class HandleMergeField : IFieldMergingCallback
{
    void IFieldMergingCallback.FieldMerging(FieldMergingArgs e)
    {
        if (e.FieldValue != null)
        {
            DocumentBuilder builder = new DocumentBuilder(e.Document);
            builder.MoveToMergeField(e.FieldName);
            builder.InsertImage(e.FieldValue.ToString());
        }
    }
    void IFieldMergingCallback.ImageFieldMerging(ImageFieldMergingArgs args)
    {
        // Do nothing.
    }
}
private static DataTable GetDataTable()
{
    DataTable dataTable = new DataTable("tbl");
    dataTable.Columns.Add(new DataColumn("mf"));
    DataRow dataRow;
    for (int i = 0; i < 5; i++)
    {
        dataRow = dataTable.NewRow();
        dataRow[0] = "D:\\Temp\\Aspose.Words.jpg";
        dataTable.Rows.Add(dataRow);
    }
    return dataTable;
}

Hope, this helps.

Best regards,

Thank you so much
That example worked perfectly.
Great work guys