Tabled of Contents |
---|
WordWriter allows you to insert jpg, gif, bmp, and png images in merge fields. You can insert images repeat block and main document merge fields. There are two ways to insert an image into a merge field:
To insert an image in a merge field using a placeholder:
If you are using a database as a data source, the column that corresponds to the merge field containing the image must be of type BLOB ("Image" in SQL Server). If the data source is an array of objects, the value that corresponds to the merge field containing the image should be a simple byte array.
For more information about different data sources see Using a Database as a Data Source and Using an Array as a Data Source.
New to v8.6.1 - the data type can be specified as either BLOB/byte array or as string file path to the image file on the server.
To specify how WordWriter should scale the image:
Relative |
Lock aspect ratio |
Meaning |
---|---|---|
false |
false |
The image will maintain its natural size and aspect ratio. |
true |
false |
The image will be scaled to fit into the placeholder image but keep its natural aspect ratio. |
false |
true |
The image will be scaled to fit into the placeholder image but keep its natural aspect ratio. The image will not be enlarged if it is smaller than the placeholder image. |
true |
true |
The image will be scaled to fit into the placeholder image and its aspect ratio. |
To insert an image in a merge field using the "image" modifier:
Value |
Meaning |
---|---|
1 |
The image will always be the width and height specified regardless of its natural size. |
2 |
The image will always be enlarged or shrunk to fit within the bounds specified by width and height but it will keep its natural aspect ratio. |
3 |
The image will be scaled down to within the bounds specified by width and height but it will keep its natural aspect ratio. |
If you are using a database as a data source, the column that corresponds to the merge field containing the image must be of type BLOB ("Image" in SQL Server). If the data source is an array of objects, the value that corresponds to the merge field containing the image should be a simple byte array.
New to v8.6.1 - the data type can be specified as either BLOB/byte array or as string file path to the image file on the server.
If you are using WordWriter v8.6.1, you can insert an image directly from a file. The sample below shows how.
WordTemplate wt = new WordTemplate(); //image from a file path string newImage = @"C:\image.png"; //create a string array of field names. //the field names must be the same as the merge field //names in the template. string[] arrfields = {"Product.Image(image1,600,600))"}; //create an object array of values //ordinal numbers match those of the fields array object[] arrvalues = {newImage}; //set the data source wt.SetDataSource(arrvalues, arrfields, "ImageSource"); //process the data wt.Process(); |
In earlier versions of WordWriter, the image must first be put into a byte array.
//create byte array from image byte[] imgArray = File.ReadAllBytes(@"C:\image.png"); //create an object array of values //ordinal numbers match those of the fields array object[] arrvalues = {imgArray}; //create a string array of field names. //the field names must be the same as the merge field //names in the template. string[] arrfields = {"Product.Image(image1,600,600))"}; //set the data source wt.SetDataSource(arrvalues, arrfields, "ImageSource"); wt.Process(); |
For more sample code see the Insert Image Demo.