Word Reports
Working with Streams
Basic Tasks > Working with Streams

Templates can be read from memory, replacements made and then saved to an output stream.  Here is an example:

 

C#
//To run this example code, create a word document called ExampleTemplate.docx with the text [ReplaceMe] in the document
 
WordReportsGenerator generator = new WordReportsGenerator(); //Trial Mode
//WordReportsGenerator generator = new WordReportsGenerator("place user name here", "place license key here"); //License Mode
 
const string sourceDocumentPath = @"Test Documents\ExampleTemplate.docx";
const string outputDocumentPath = "ExampleOutput.docx";
 
using (FileStream inputStream = new FileStream(sourceDocumentPath, FileMode.Open, FileAccess.Read))
{
    using (Document document = generator.DocumentFactory(inputStream))
    {
 
        Dictionary<string, ReplacementItem> replacement =
            new Dictionary<string, ReplacementItem>
                {
                    {
                        "[ReplaceMe]",
                        new ReplacementItem {Value = "This is a test"}
                    }
                };
 
        generator.Replace(document, replacement);
 
        using (FileStream outputStream = new FileStream(outputDocumentPath, FileMode.Create, FileAccess.Write))
        {
            generator.SaveDocument(document, outputStream);
        }
    }
}

VB.NET
'To run this example code, create a word document called ExampleTemplate.docx with the text [ReplaceMe] in the document
 
Dim generator As New WordReportsGenerator() 'Trial Mode
'WordReportsGenerator generator = new WordReportsGenerator("place user name here", "place license key here"); //License Mode
 
Const sourceDocumentPath As String = "Test Documents\ExampleTemplate.docx"
Const outputDocumentPath As String = "ExampleOutput.docx"
 
Using inputStream As New FileStream(sourceDocumentPath, FileMode.Open, FileAccess.Read)
    Using document As Document = generator.DocumentFactory(inputStream)
 
        Dim replacement As New Dictionary(Of String, ReplacementItem)() From {{ "[ReplaceMe]", New ReplacementItem With {.Value = "This is a test"} }}
 
        generator.Replace(document, replacement)
 
        Using outputStream As New FileStream(outputDocumentPath, FileMode.Create, FileAccess.Write)
            generator.SaveDocument(document, outputStream)
        End Using
    End Using
End Using