ImageStream
Contenu
[
Cacher
]ImageFieldMergingArgs.ImageStream property
Spécifie le flux à partir duquel le moteur de publipostage doit lire une image.
public Stream ImageStream { get; set; }
Remarques
Aspose.Words ferme ce flux après avoir fusionné l’image dans le document.
Exemples
Montre comment insérer des images stockées dans un champ BLOB de base de données dans un rapport.
public void ImageFromBlob()
{
Document doc = new Document(MyDir + "Mail merge destination - Northwind employees.docx");
doc.MailMerge.FieldMergingCallback = new HandleMergeImageFieldFromBlob();
string connString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={DatabaseDir + "Northwind.accdb"};";
string query = "SELECT FirstName, LastName, Title, Address, City, Region, Country, PhotoBLOB FROM Employees";
using (OleDbConnection conn = new OleDbConnection(connString))
{
conn.Open();
// Ouvrez le lecteur de données, qui doit être dans un mode permettant de lire tous les enregistrements en même temps.
OleDbCommand cmd = new OleDbCommand(query, conn);
IDataReader dataReader = cmd.ExecuteReader();
doc.MailMerge.ExecuteWithRegions(dataReader, "Employees");
}
doc.Save(ArtifactsDir + "MailMergeEvent.ImageFromBlob.docx");
}
private class HandleMergeImageFieldFromBlob : IFieldMergingCallback
{
void IFieldMergingCallback.FieldMerging(FieldMergingArgs args)
{
// Ne fais rien.
}
/// <summary>
/// Ceci est appelé lorsqu'un publipostage rencontre un MERGEFIELD dans le document avec une balise "Image:" dans son nom.
/// </summary>
void IFieldMergingCallback.ImageFieldMerging(ImageFieldMergingArgs e)
{
MemoryStream imageStream = new MemoryStream((byte[])e.FieldValue);
e.ImageStream = imageStream;
}
}
Voir également
- class ImageFieldMergingArgs
- espace de noms Aspose.Words.MailMerging
- Assemblée Aspose.Words