Hi
Thanks for your request. I think, you can use MergeImaeField event handler to achieve this. Please see the following link for more information:
http://www.aspose.com/documentation/.net-components/aspose.words-for-.net-and-java/howto-insert-images-from-a-database.html
To generate barcode you can use Aspose.Barcode:
http://www.aspose.com/documentation/.net-components/aspose.barcode-for-.net/product-overview.html
Here simple code example:
// Open template.
Document doc = new Document(@"Test001\in.doc");
// Add MergeImageField event handler. We will generate barcode image usng it.
doc.MailMerge.MergeImageField += MailMerge_InsertBarcode;
// As a datasource, we will use object array.
string[] names = {"Name", "Barcode"};
object[] values = {"Alexey", "This is code of your barcode 123456798*"};
// Execute mail merge.
doc.MailMerge.Execute(names, values);
// Save output document.
doc.Save(@"Test001\out.doc");
===========================================================
void MailMerge_InsertBarcode(object sender, Aspose.Words.Reporting.MergeImageFieldEventArgs e)
{
if(e.FieldName == "Barcode")
{
// Create barcode iamges using Aspose.Barcode.
Aspose.BarCode.BarCodeBuilder bcBuilder = new Aspose.BarCode.BarCodeBuilder();
bcBuilder.SymbologyType = Aspose.BarCode.Symbology.UPCA;
bcBuilder.CodeLocation = Aspose.BarCode.CodeLocation.None;
bcBuilder.CodeText = e.FieldValue.ToString();
// Set image,which will be inserted into the document (in our case it is barcode).
e.Image = bcBuilder.GenerateBarCodeImage();
}
}
I also attached input and output documents. Also Barcode demo could be useful for you:
http://www.aspose.com/demos/.net-components/aspose.words/csharp/general/barcode.aspx
Hope this helps.
Best regards.
Andrey Noskov
Developer/Technical Support
Aspose Auckland Team