| Example: Templating images | Docentric Toolkit Help Send Feedback | 
In this report, we want to write out some data of one particular product e.g. product’s name, category, description, price etc. including the product's picture. Data model used for all examples is exposed here.
Initially, we are creating a report template. Follow the common preparation steps to start building the template from scratch:
- Open a new blank Word document and enable it for templating
- Turn on Data Sources and Elements Explorers
- Define default data source as the Product class
    After that, you should be at the following point:
    
    
         
    
    Insert Field elements bound to the products's name, category, description
    and price by configuring their Binding Source and Path properties
    (for detail explanation please look at 
        Templating single values example):
    
    
         
    
    Note that on the picture the pane Data Sorces Explorer is turned off, that does
    not mean that data sources are discarded; simply, we are not showing it to save
    the space on the template.
    Then insert Image element on the template:
    
    
         
    
    Adjust properties Binding Source and Path. Notice that the Image element
    is bound to the property Image of the class 
        Product which is of type byte array:
    
    
         
    
    Finished template (with Design mode turned on) looks like:
    
    
         
    
Remarks:
- Image element has to be bound to the one object’s property which is typed
        of byte array. Type of the concrete image (jpg, png, tif
        etc.) is not needed to be provided, since Word internally knows to deal with the
        image content itself.
        
 
- Dummy picture that is placed within an Image element is there for the purpose
        of formatting in any way, including text wrapping, tuning of the size of the picture
        etc. Rendering of Image element will be performed by replacing it (together
        with dummy picture) by the content behind its bound property of type byte array
        and by keeping, at the same time, all the characteristics of the dummy picture.
        
 
- Dummy picture could be deleted from the Image element and new picture with special size could be inserted instead. No matter which picture is used, formatting and other picture’s properties tuning are going on in the same manner.
Now when we have a report template saved, we can proceed to generation of the report. Report generation takes place programmatically, from your application that is using (has a reference to) the LD ReportEngine dll. This code looks like following:
    // Instancing report engine, by assigning the data source
    
    DocumentGenerator dg = new DocumentGenerator(DataAccess.GetProductById(33));
    
    
    // Generating report by specifying the report template and the resulting
        report (as file paths)
    
    DocumentGenerationResult result = dg.GenerateDocument("example10.docx", "example10_output.docx");
    
    
    // Examining potentially errors
    
    if (result.HasErrors)
    
    {
    
        foreach (Error
    error in result.Errors) Console.Out.WriteLine(error.Message);
    
    }
It is also possible to invoke the method GenerateDocument with same parameters typed as System.IO.Stream.
 
                