Tabled of Contents | |
---|---|
|
Excerpt |
---|
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: |
Using a Placeholder
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.
...
- Right-click the image and select Format Picture...
- Select the Size tab.
- Check or uncheck Lock aspect ratio.
- Check or uncheck Relative to original picture size .
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. |
...
Code Block | ||||
---|---|---|---|---|
| ||||
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();
|
...
Code Block | ||||
---|---|---|---|---|
| ||||
//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.