com.aspose.words
Interface MergeImageFieldEventHandler


public interface MergeImageFieldEventHandler 

Represents the method that will handle the MergeImageField event.

One can implement this interface in a class that needs in notification if MergeImageField event is occur. Implimenting class also must be registered as event subscriber by a call to MailMerge.addMergeImageFieldEventHandler(com.aspose.words.MergeImageFieldEventHandler) method.

Example:

Shows how to insert images stored in a database BLOB field into a report.
public void mailMergeImageFromBlob() throws Exception
{
    Document doc = new Document(getMyDir() + "MailMerge.MergeImage.doc");

    // Set up the event handler for image fields and perform mail merge.
    doc.getMailMerge().addMergeImageFieldEventHandler(new HandleMergeImageFieldFromBlob());

    // Open a DSN-less connection.
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String connString = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};" +
        "DBQ=" + getDatabaseDir() + "Northwind.mdb;UID=Admin";
    Connection conn = DriverManager.getConnection(connString);

    // Load a data table.
    Statement statement = conn.createStatement();
    ResultSet employeesTable = statement.executeQuery("SELECT * FROM Employees");

    // Execute mail merge.
    doc.getMailMerge().executeWithRegions("Employees", employeesTable);

    // Close the database.
    conn.close();

    doc.save(getMyDir() + "MailMerge.MergeImage Out.doc");
}

/// <summary>
/// This is called when mail merge engine encounters Image:XXX merge field in the document.
/// You have a chance to return an Image object, file name or a stream that contains the image.
/// </summary>
private class HandleMergeImageFieldFromBlob implements MergeImageFieldEventHandler
{
    public void mergeImageField(Object sender, MergeImageFieldEventArgs e)
    {
        // The field value is a byte array, just cast it and create a stream on it.
        InputStream imageStream = new ByteArrayInputStream((byte[])e.getFieldValue());
        // Now the mail merge engine will retrieve the image from the stream.
        e.setImageStream(imageStream);
    }
}
See Also:
MergeImageFieldEventArgs, MailMerge

Method Summary
voidmergeImageField(java.lang.Object sender, MergeImageFieldEventArgs e)
           Occurs during mail merge when an image mail merge field is encountered in the document.
 

Method Detail

mergeImageField

public void mergeImageField(java.lang.Object sender, MergeImageFieldEventArgs e)
                    throws java.lang.Exception
Occurs during mail merge when an image mail merge field is encountered in the document.

See Also:
          Aspose.Words Documentation - the home page for the Aspose.Words Product Documentation.
          Aspose.Words Support Forum - our preferred method of support.