You are currently offline, serving cached version
10 December 2024 : If you are using angular-expressions to parse expressions such as {user.name}, {#users.length > 10}, please upgrade asap to angular-expressions@1.4.3 for security reasons : View Github issue

Docker Image

The docker image allows you to run docxtemplater with all 18 docxtemplater modules contained in the ENTREPRISE plan, without having to configure them. The modules are already configured to sane defaults (and customizable) and work well with each other.

Sdks

We have developped manys sdks in multiple languages to allow you to generate your documents from those languages :

  • node.js
  • go
  • python3
  • PHP
  • ruby
  • dart
  • C#
  • C
  • C++
  • Java
  • Lua
  • Rust

After downloading the docker image, you can find all sdks in the sdk/ folder for example : sdk/php/.

Exposed HTTP API

The API exposes an HTTP POST route to do the generation that takes as input the template file and the data to be used for the generation.

The API outputs the generated file as docx, pptx or xlsx.

The docker image can be used to generate documents from other languages (Java, .Net), since it only requires to do one HTTP Call.

Usage with curl

This example requires you to have input.docx, data.json and it exports output.docx

# creates a new file descriptor 3 that redirects to 1 (STDOUT)
exec 3>"output.docx"

# Run curl in a separate command,
# capturing output of -w "%{http_code}" into HTTP_STATUS
# and sending the content to this command's STDOUT with -o >(cat >&3)

curl --silent \
   -X POST \
   -F "data=@data.json" \
   -F "filecomment=This is an image file" \
   -F "doc=@input.docx" \
   -w "%{http_code}" \
   "$host/api/v1/generate" \
   -o >(cat >&3) >/tmp/httpstatus || code="$?"

It is also possible to get the list of tags in a template (no generation done, by using following script :

curl --silent \
   -X POST \
   -F "doc=@input.docx" \
   "$host/api/v1/retrieve-tags" || code="$?"

Configuration

It is possible to configure your instance by editing the configuration.js file.

There are different parts that you can configure.

By implementing configureAngularParser, you can add angular filters that you want to be able to use in your template :

module.exports = {
    configureAngularParser(expressions) {
        /* Here you can define custom filters
         * For example if you wish to write { clientName | upper }
         */

        expressions.filters.upper = function (input) {
            // Make sure that if your input is undefined, your
            // output will be undefined as well and will not
            // throw an error
            if (!input) {
                return input;
            }
            return input.toUpperCase();
        };
        return expressions;
    },
};

By implementing configureDocxtemplater, you can attach additional modules that you have developped yourself.

module.exports = {
    configureDocxtemplater(doc) {
        /*
         * Here you can configure the docxtemplater instance before compiling/rendering
         * For example :
         *
         * doc.attachModule(new MyCustomModule());
         */
        return doc;
    },
};

By implementing configureModule, you can modify the configuration of a given module.

module.exports = {
    configureModule(moduleName, options) {
        /*
         * Here you can configure each of the docxtemplater modules
         * For example to fetch urls for the image module :
         */

        const https = require("https");
        const http = require("http");
        const Stream = require("stream").Transform;

        if (moduleName === "image") {
            options.getImage = function (url) {
                return new Promise(function (resolve, reject) {
                    (url.substr(0, 5) === "https" ? https : http)
                        .request(url, function (response) {
                            if (response.statusCode !== 200) {
                                return reject(
                                    new Error(
                                        `Request to ${url} failed, status code: ${response.statusCode}`
                                    )
                                );
                            }
                            const data = new Stream();
                            response.on(
                                "data",
                                function (chunk) {
                                    data.push(chunk);
                                }
                            );
                            response.on("end", function () {
                                resolve(data.read());
                            });
                            response.on("error", function (e) {
                                reject(e);
                            });
                        })
                        .end();
                });
            };
        }

        return options;
    },
};

Logging

By default, the docker container will store :

  1. The templates + request in the folder : /var/docxstore/:uuid/doc => contains the docx file for a given generation
  2. Logs (which contains the data used for the templates). Those are printed to stdout, and are then stored by docker.
  3. Errors (which contains stacktraces, list of errors in the template).

All three of this things can be set to not be logged.

  1. For not storing the templates, set the STORE_TEMPLATES env variable to false.
  2. For not storing the normal logs, set the LOG_REQUESTS env variable to false.
  3. For not storing the errors, set the LOG_ERRORS env variable to false.

So if you want to stop storing any kind of logs, do the following :

STORE_TEMPLATES=false LOG_REQUESTS=false LOG_ERRORS=false ./run.bash

Specs to host the docker image

You can host the docker image on an EC2 Amazon instance for example, or on a virtual machine that you own.

Recommended specs would be :

  • A decent CPU, the docker image uses only one core (no parallelism in docxtemplater), so you don't "need" a 16 CPU server. (But you can have one instance of the docker image for each CPU if you expect very high load). Docxtemplater is CPU bound, meaning that to improve the speed of your docker instance, the most useful thing to do is to upgrade your CPU

  • 2GB of Ram or more for each instance of the docker image

  • SSD and good network quality cannot hurt as well.

Image sizing

The algorithm for image sizing since version 3.21.0 will :

Calculate the intrinsic image size in pixel of the image coming from your data source.

Calculate the width and height of the container of the {%image} text.

It will then scale the image down if the width of the intrinsic image exceeds that of its container. It will not scale the image up to avoid scaled up images with low quality.

You can also decide to scale up or down some images using following syntax :

  • {%image | scale:2} If the intrinsic image size is 100px/100px, it will scale it up to 200px/200px.

  • {%image | scale:.5} If the intrinsic image size is 100px/100px, it will scale it down to 50px/50px.

  • {%image | maxWidth:100} This will set the maxWidth to 100px, hence the image will not be able to stretch over more than 100px in the word document. If the intrinsic image size is 200px/200px, the final size will be 100px/100px. If the intrinsic size is 60px/60px, the image will not be scaled up, and the final size will be 60px/60px.

  • {%image | maxWidth:"1in"} This will set the maxWidth to 1 inch, hence the image will not be able to stretch over more than 1 inch in the word document

Using a custom certificate

It is possible to use a custom certificate by adding your certificate in same folder as the "Dockerfile", simply put your certificate in that folder with the name : ca-certificate.crt.

That certificate will then be used during the package installation and for requests done using the Imagemodule, using following data for example :

{
    "image": "https://docxtemplater.com/puffin.png"
}

OpenAPI specification :

openapi: 3.0.0
info:
    version: 1.0.0
    title: Docxtemplater docker api
    description: A docker API that allows to render a docx/pptx/xlsx template with JSON data.
externalDocs:
    url: https://docxtemplater.com/docker/
paths:
    /api/v1/retrieve-tags:
        post:
            requestBody:
                required: true
                content:
                    multipart/form-data:
                        schema:
                            type: object
                            properties:
                                doc:
                                    type: string
                                    format: binary
                                    description: The docx/pptx/xlsx template
                            required:
                                - doc
            parameters:
                - in: query
                  name: delimiters
                  schema:
                      type: string
                  description: Delimiters that should be used instead of {user}
                  example: "[[ ]]"
            responses:
                "200":
                    description: The list of the tags that are defined in the docxtemplate
    /api/v1/generate:
        post:
            requestBody:
                required: true
                content:
                    multipart/form-data:
                        schema:
                            type: object
                            properties:
                                data:
                                    type: string
                                    description: The JSON data to apply to the template
                                    example: '{ "name": "John" }'
                                doc:
                                    type: string
                                    format: binary
                                    description: The docx/pptx/xlsx template
                                delimiters:
                                    type: string
                                    description: Delimiters that should be used instead of {user}
                                    example: "[[ ]]"
                            required:
                                - doc
                                - data
            parameters:
                - in: query
                  name: delimiters
                  schema:
                      type: string
                  description: Delimiters that should be used instead of {user}
                  example: "[[ ]]"
                - in: query
                  name: imagesize
                  schema:
                      type: string
                  description: Max Image size, in format "<width>x<height>", in pixels, that will not be eceeded
                  example: "200x300"
            responses:
                "200":
                    description: The filled in document
                    content:
                        application/vnd.openxmlformats-officedocument.wordprocessingml.document:
                            schema:
                                type: string
                                format: binary
                        application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
                            schema:
                                type: string
                                format: binary
                        application/vnd.openxmlformats-officedocument.presentationml.presentation:
                            schema:
                                type: string
                                format: binary
                    headers:
                        Content-Disposition:
                            schema:
                                type: string
                                example: attachment; filename="generated.docx"

CHANGELOG

3.36.4

Bugfix to allow to change the expressions.filters

Also allow to use "configureDocxtemplater" with attachModule.

It is recommended to use the new transformModules API, but now, the configureDocxtemplater will work with attachModule again :

Update this :

const CommentModule = require("./comment-module.js");
module.exports = {
    /* code */
    configureDocxtemplater(doc) {
        doc.attachModule(new CommentModule());
        /*
         * Here you can configure the docxtemplater instance before compiling/rendering
         * For example :
         *
         * doc.attachModule(new MyCustomModule());
         */
        return doc;
    },
};

To this :

const CommentModule = require("./comment-module.js");
module.exports = {
    /* code */
    transformModules(modules) {
        modules.push(new CommentModule());
        return modules;
    },
};

3.36.3

Fix output of /retrieve-tags and /retrieve-structured-tags when the template is invalid, such as :

Hello {user

3.36.2

Fix CVE-2024-54152

(Upgrades to fixed package angular-expressions@1.4.3).

See this github advisory.

3.36.1

  • Add sortBy filter
  • Update docxtemplater to 3.55.0
  • Update xlsx-module to 3.27.0

3.36.0

  • Update to use docxtemplater v4 api. Drop configureDocxtemplater API

If you're using configureDocxtemplater to add new modules, please convert your code from :

const CommentModule = require("./comment-module.js");
module.exports = {
    /* code */
    configureDocxtemplater(doc) {
        doc.attachModule(new CommentModule());
        /*
         * Here you can configure the docxtemplater instance before compiling/rendering
         * For example :
         *
         * doc.attachModule(new MyCustomModule());
         */
        return doc;
    },
};

To this :

const CommentModule = require("./comment-module.js");
module.exports = {
    /* code */
    transformModules(modules) {
        modules.push(new CommentModule());
        return modules;
    },
};
  • Update Dockerfile to allow to use a custom ca-certificate

  • Add to2d filter for xlsx files

  • Update retrieve-structured-tags and retrieve-tags to work on invalid template

  • Update xlsx-module-3.26.1

  • Update to node 20.18.1

  • Update to eslint@9, prettier@3.4

  • Update to docxtemplater@3.51.0

  • Update table-module-3.23.1

  • Update subtemplate-module-3.19.0

  • Update qrcode-module-3.5.0

  • Update pptx-sub-module-3.1.10

  • Update meta-module-3.13.0

  • Update image-module-3.29.4

  • Update html-module-3.55.1

  • Update chart-module-3.15.2

3.35.3

  • Update to angular-expressions@1.3.0
  • Update table-module-3.22.3
  • Update html-module-3.54.0
  • Update error-location-module-3.9.6
  • Update node to 20.17.0

3.35.2

  • Update xlsx-module-3.24.1
  • Update subtemplate-module-3.18.0
  • Update meta-module-3.11.5
  • Update html-module-3.53.2
  • Update docxtemplater to 3.50.0
  • Update chart-module-3.13.8
  • Update dart sdk lockfile
  • Log uncatched errors

3.35.1

  • Update subtemplate-module-3.17.5
  • Update html-module-3.52.0
  • For subtemplate and subsection module, when using subrendering feature, include all modules in the subtemplate.

3.35.0

  • Bugfix to not exit server if having malformed multipart request.
  • Add SDKs for Lua, C++, Rust, C#, C and Java

3.34.0

  • Add sdk for dart language
  • Update html-module-3.51.0
  • Update node to 20.15.1
  • Update chart-module-3.13.7

3.33.0

  • Bugfix HTTP : don't exit server on SSL error
  • Update node to 20.15
  • Update xlsx-module-3.23.3
  • Update styling-module-3.8.3
  • Update slides-module-3.6.1
  • Update pptx-sub-module-3.1.9
  • Update image-module-3.29.1
  • Update html-module-3.50.0
  • Update chart-module-3.13.6
  • Bugfixes for attrParsed
  • Add /health route and add identifiers to /structured-tags route
  • Add .contain filter

3.32.19

  • Update xlsx-module-3.21.0
  • Update word-run-module-3.2.5
  • Update table-module-3.22.2
  • Update subtemplate-module-3.17.4
  • Update subsection-module-3.5.10
  • Update styling-module-3.8.2
  • Update slides-module-3.5.6
  • Update qrcode-module-3.4.10
  • Update pptx-sub-module-3.1.8
  • Update paragraph-placeholder-module-3.5.8
  • Update meta-module-3.11.4
  • Update image-module-3.28.5
  • Update html-xlsx-module-3.2.7
  • Update html-module-3.49.5
  • Update footnotes-module-3.4.7
  • Update docxtemplater to 3.47.4
  • Update chart-module-3.13.5

3.32.18

  • Update meta-module-3.11.2
  • Update Ruby sdk to correctly handle Japanese characters

3.32.17

  • Update xlsx-module-3.20.3
  • Update meta-module-3.11.1

3.32.16

  • Update xlsx-module-3.20.2
  • Update image-module-3.27.0
  • Update html-module-3.49.2

3.32.15

  • Update retrieve-structured-tags to work on all inputs (previously it would fail with an out of memory error for some templates)
  • Update pptx-sub-module-3.1.6
  • Update html-pptx-module-3.5.7
  • Update html-module-3.49.1
  • Update docxtemplater to 3.47.1

3.32.14

  • Update html-xlsx-module-3.2.4

3.32.13

  • Update subtemplate-module-3.16.16
  • Update node to 20.12
  • Update html-module-3.48.3
  • Update docxtemplater to 3.46.2

3.32.12

  • Update table-module-3.22.0
  • Update styling-module-3.8.0
  • Update meta-module-3.11.0
  • Update image-module-3.26.2
  • Update html-xlsx-module-3.2.3
  • Update html-module-3.48.1
  • Update error-location-module-3.9.5
  • Update docxtemplater to 3.46.1

3.32.11

  • Add /retrieve-structured-tags route
  • Update xlsx-module-3.20.1
  • Update subtemplate-module-3.16.15
  • Update styling-module-3.7.16
  • Update html-xlsx-module-3.2.2
  • Update html-pptx-module-3.5.5
  • Update html-module-3.47.1

3.32.10

  • Add initial csharp sdk
  • Update node to 20.11.1
  • Update image-module-3.24.5
  • Update html-xlsx-module-3.2.1
  • Update html-pptx-module-3.5.4
  • Update html-module-3.46.3
  • Update error-location-module-3.9.4
  • Update docxtemplater to 3.46.0
  • Update chart-module-3.13.2

3.32.9

  • Update xlsx-module-3.19.1
  • Update table-module-3.21.1
  • Update qrcode-module-3.4.9
  • Update meta-module-3.10.0
  • Update image-module-3.24.4
  • Update html-module-3.44.0
  • Update chart-module-3.13.1
  • Update docxtemplater to 3.44.0

3.32.8

  • Update html-xlsx-module-3.1.11
  • Update html-module-3.43.2

3.32.7

Allow to configure following modules in the configuration.js file :

  • Chartmodule using the module === "chart" condition.
  • XlsxModule using the module === "xlsx" condition.
  • HTMLXlsxModule using the module === "html-xlsx" condition.
  • FootnotesModule using the module === "footnote" condition.
  • FullTableModule using the module === "table-full" condition.
  • GridTableModule using the module === "table-grid" condition.
  • PptxSubtemplateModule using the module === "pptx-sub" condition.

3.32.6

  • Update xlsx-module-3.18.0
  • Update html-module-3.43.0
  • Update chart-module-3.13.0

3.32.5

  • Update xlsx-module-3.17.5
  • Update word-run-module-3.2.3
  • Update table-module-3.21.0
  • Update subtemplate-module-3.16.14
  • Update subsection-module-3.5.7
  • Update styling-module-3.7.15
  • Update slides-module-3.5.4
  • Update qrcode-module-3.4.8
  • Update pptx-sub-module-3.1.5
  • Update paragraph-placeholder-module-3.5.6
  • Update meta-module-3.8.1
  • Update image-module-3.24.3
  • Update ignored tests
  • Update html-xlsx-module-3.1.9
  • Update html-pptx-module-3.5.3
  • Update html-module-3.42.4
  • Update footnotes-module-3.4.5
  • Update error-location-module-3.9.3
  • Update docxtemplater to 3.43.1
  • Update chart-module-3.12.5

3.32.4

  • Update table-module-3.20.0
  • Update subtemplate-module-3.16.11
  • Update html-pptx-module-3.1.7
  • Update html-module-3.42.1

3.32.3

Fix 400 Bad request when sending an XML file (that starts with <?xml version="1.0" encoding="UTF-8"?>) for text templating.

Allow to change delimiters when using Text templating

Now the output is correct

  • Update html-module-3.42.0
  • Update docxtemplater-3.42.7
  • Update error-location-module-3.9.1

3.32.2

  • When using API with ?silent=true parameter, if the template contains errors, the errors will be shown in the HTTP response.

3.32.1

  • Update docxtemplater to 3.42.6
  • When using TxtTemplating, if there is an error in the input, the status will now be 400, and the error will be shown in a multi error

3.32.0

  • Add support for error-location module with xlsx files
  • Update xlsx-module-3.17.1
  • Update table-module-3.19.10
  • Update subtemplate-module-3.16.10
  • Update image-module-3.24.0
  • Update error-location-module-3.9.0
  • Update docxtemplater to 3.42.4

3.31.0

  • Add support for templating text files
  • Update docxtemplater to 3.42.3
  • Add Access-Control-Expose-Headers

3.30.2

  • Update image-module-3.23.11

3.30.1

  • Update styling-module-3.7.13

3.30.0

  • Update xlsx-module-3.15.0
  • Update table-module-3.19.9
  • Update subtemplate-module-3.16.9
  • Update styling-module-3.7.12
  • Update slides-module-3.5.3
  • Update qrcode-module-3.4.7
  • Update pptx-sub-module-3.1.4
  • Update paragraph-placeholder-module-3.5.4
  • Update meta-module-3.8.0
  • Update image-module-3.23.10
  • Update html-xlsx-module-3.1.6
  • Update html-module-3.41.9
  • Update error-location-module-3.8.6
  • Update docxtemplater to 3.42.1
  • Access-control allow all methods

3.29.3

  • Update xlsx-module-3.13.13
  • Update table-module-3.19.7
  • Update styling-module-3.7.11
  • Update qrcode-module-3.4.4
  • Update image-module-3.23.8
  • Update html-pptx-module-3.5.2
  • Update html-module-3.41.8
  • Update error-location-module-3.8.5

3.29.2

  • Update xlsx-module-3.13.12
  • Update word-run-module-3.2.2
  • Update table-module-3.19.6
  • Update subtemplate-module-3.16.5
  • Update subsection-module-3.5.6
  • Update styling-module-3.7.10
  • Update slides-module-3.5.2
  • Update qrcode-module-3.4.3
  • Update pptx-sub-module-3.1.3
  • Update paragraph-placeholder-module-3.5.3
  • Update modules order
  • Update meta-module-3.7.4
  • Update image-module-3.23.7
  • Update html-xlsx-module-3.1.5
  • Update html-pptx-module-3.5.1
  • Update html-module-3.41.7
  • Update footnotes-module-3.4.4
  • Update error-location-module-3.8.4
  • Update chart-module-3.12.3

3.29.1

  • Update subtemplate-module-3.16.4
  • Update meta-module-3.7.3
  • Update error-location-module-3.8.3

3.29.0

  • Add TableModule.Merge, StyleModule and WordRunModule for pptx file types
  • Add expressionFilters for size, slice, link, chunkBy, chunk, recur
  • Improve shown errors in the output of the API : always show err.propeties
  • Update node to 20.9.0
  • [sdk/nodejs] Return specific object when having template error
  • Update docxtemplater to 3.40.2
  • Update subtemplate-module-3.16.2
  • Update image-module-3.23.6
  • Update html-module-3.41.6
  • Update chart-module-3.12.1

3.28.0

  • Update chart-module-3.12.0
  • Update docxtemplater to 3.40.1
  • Update error-location-module-3.8.2
  • Update footnotes-module-3.4.3
  • Update html-module-3.41.2
  • Update html-pptx-module-3.5.0
  • Update html-xlsx-module-3.1.3
  • Update image-module-3.23.4
  • Update meta-module-3.7.2
  • Update paragraph-placeholder-module-3.5.2
  • Update pptx-sub-module-3.1.2
  • Update qrcode-module-3.4.2
  • Update slides-module-3.5.1
  • Update styling-module-3.7.8
  • Update subsection-module-3.5.5
  • Update subtemplate-module-3.16.1
  • Update table-module-3.19.4
  • Update word-run-module-3.2.1
  • Update xlsx-module-3.13.10

3.27.4

  • Update xlsx-module-3.13.7
  • Update subtemplate-module-3.15.0
  • Update slides-module-3.5.0
  • Update meta-module-3.6.0
  • Update image-module-3.22.1
  • Update html-xlsx-module-3.1.0
  • Update html-module-3.39.9
  • Update error-location-module-3.8.0
  • Update docxtemplater to 3.39.1
  • Add ignore_unknown_tags option

3.27.3

  • Update table-module-3.19.1
  • Update slides-module-3.4.11
  • Update docxtemplater to 3.37.13

3.27.2

  • Update xlsx-module-3.13.5
  • Update chart-module-3.11.2

3.27.1

  • Update subtemplate-module-3.14.3
  • Update styling-module-3.7.3
  • Update node to 18.17

3.27.0

Add new sdks :

  • sdk for ruby language
  • sdk for php language
  • sdk for go language

Update modules :

  • Update xlsx-module-3.13.4
  • Update subtemplate-module-3.14.2
  • Update qrcode-module-3.4.1
  • Update image-module-3.22.0
  • Update html-pptx-module-3.4.3
  • Update html-module-3.39.1
  • Update chart-module-3.11.1

3.26.3

  • Update xlsx-module-3.13.3
  • Update subtemplate-module-3.14.0
  • Update slides-module-3.4.9
  • Update meta-module-3.5.0
  • Update image-module-3.21.4
  • Update html-module-3.38.0
  • Update docxtemplater to 3.37.12

3.26.2

  • Add support for minWidth and minHeight filters with percentage value.

For example :

{%image | minWidth:"100%"}

will now create an image that spans the whole page (or the whole table cell if the tag is placed in a table).

3.26.1

  • Add support for Subtemplate.SegmentModule

3.26.0

  • Add support for minWidth and minHeight filters
  • Update table-module-3.18.5
  • Update styling-module-3.7.2
  • Update paragraph-placeholder-module-3.5.0
  • Update image-module-3.21.3
  • Update html-module-3.37.5
  • Update docxtemplater to 3.37.11

3.25.0

  • Add POST /retrieve-tags route

  • Update subtemplate-module-3.13.0

  • Update paragraph-placeholder-module-3.4.0

  • Update meta-module-3.4.2

  • Update image-module-3.21.1

  • Update html-module-3.37.3

  • Update chart-module-3.11.0

3.24.0

  • Make it possible to disable logs with the env variables STORE_TEMPLATES, LOG_REQUESTS and LOG_ERRORS.
  • Update subtemplate-module-3.12.4
  • Update html-module-3.37.2
  • Update docxtemplater to 3.37.9
  • Add initial python sdk

3.23.0

  • Add html-xlsx module
  • Update node to 18.16.0
  • Update xlsx-module-3.13.2
  • Update subtemplate-module-3.12.3
  • Update meta-module-3.4.1
  • Update html-module-3.36.2
  • Update error-location-module-3.6.1
  • Update chart-module-3.10.3
  • Update docxtemplater to 3.37.7

3.22.1

  • Update slides-module-3.4.7
  • Update qrcode-module-3.4.0
  • Update docxtemplater to 3.37.0

3.22.0

  • Add typescript definitions to node sdk
  • Update xlsx-module-3.12.1
  • Update table-module-3.18.4
  • Update styling-module-3.7.1
  • Update node to 18.15.0
  • Update image-module-3.21.0
  • Update html-module-3.35.5
  • Update error-location-module-3.6.0
  • Update docxtemplater to 3.36.1
  • Update chart-module-3.10.2
  • Add sumBy filter to be able to write : { items|sumBy:"price"}

3.21.3

  • Update docxtemplater to 3.36.0
  • Update chart-module-3.10.0

3.21.2

  • Update xlsx-module-3.12.0
  • Update subtemplate-module-3.12.2
  • Update image-module-3.19.0
  • Update html-module-3.35.0
  • Update error-location-module-3.5.1
  • Update docxtemplater to 3.35.1

3.21.1

  • Update xlsx-module-3.11.7
  • Update table-module-3.18.0
  • Update subtemplate-module-3.12.1
  • Update subsection-module-3.5.4
  • Update styling-module-3.7.0
  • Update slides-module-3.4.6
  • Update meta-module-3.4.0
  • Update image-module-3.18.2
  • Update html-pptx-module-3.4.2
  • Update html-module-3.34.0
  • Update error-location-module-3.5.0
  • Update docxtemplater to 3.34.3
  • Add support to set the extension from the API

3.21.0

Add support to change maxWidth/maxHeight of a given image.

You can now write :

{%image | maxWidth:"1cm"} => max width of 1 centimeter

{%image | maxWidth:"2in"} => max width of 2 inches

{%image | maxWidth:100} => max width of 100px

3.20.0

  • Update getSize behavior :
    • previously, there was a default maxWidth of 100px. Now the maxWidth is the containerWidth (the current section, table cell).
    • when having a "replaced image", use the width/height of the existing image as the maxWidth/maxHeight.
    • Add the possibility to write {%image | scale:2} to create an image which width and height is multiplied by 2.
  • Update xlsx-module-3.11.6
  • Update slides-module-3.4.5
  • Update node to 18.12.1
  • Update image-module-3.17.2
  • Update html-module-3.32.0
  • Update docxtemplater to 3.32.4

3.19.0

  • Bugfix performance : avoid using assign completely on data. This will avoid minmize memory usage of the rendering process. Internally, we are now using the parser defined by "docxtemplater/expressions"
  • Update node from 16.7.0 to 18.12.0
  • Update docxtemplater to 3.32.3
  • Update xlsx-module-3.11.5
  • Update table-module-3.17.2
  • Update subtemplate-module-3.11.10
  • Update styling-module-3.6.17
  • Update slides-module-3.4.4
  • Update meta-module-3.3.1
  • Update image-module-3.15.6
  • Update html-module-3.31.5
  • Update error-location-module-3.4.4
  • Update chart-module-3.9.4

3.18.3

  • Update xlsx-module-3.11.4
  • Update to work correctly with xlsx errors and pptx errors
  • Update styling-module-3.6.16
  • Update paragraph-placeholder-module-3.3.2
  • Update image-module-3.15.4
  • Update docxtemplater to 3.31.5

3.18.2

  • Update html-module-3.31.2
  • Update chart-module-3.9.0
  • Update paragraph-placeholder-3.3.1

3.18.1

  • Update xlsx-module-3.11.3
  • Update table-module-3.16.11
  • Update subtemplate-module-3.11.7
  • Update slides-module-3.4.3
  • Update node to 16.17.0
  • Update image-module-3.15.3
  • Update html-pptx-module-3.4.1
  • Update html-module-3.31.1
  • Update footnotes-module-3.4.1
  • Update chart-module-3.8.0

3.18.0

  • Add support for https/http images with default configuration

3.17.11

  • Add node-js sdk (in sdk/nodejs/client.js)
  • Update xlsx-module-3.11.1
  • Update table-module-3.16.9
  • Update node to 16.16.0
  • Update meta-module-3.3.0
  • Update image-module-3.14.6
  • Update html-module-3.31.0
  • Update docxtemplater to 3.31.2
  • Add MAX_FIELD_SIZE option

3.17.10

  • Update xlsx-module-3.11.0
  • Update subtemplate-module-3.11.3
  • Update image-module-3.14.5

3.17.9

  • Update to docxtemplater 3.31.0

3.17.8

  • Update xlsx-module-3.10.3
  • Update subtemplate-module-3.11.2
  • Update subsection-module-3.5.2
  • Update styling-module-3.6.15
  • Update image-module-3.14.3
  • Update html-module-3.30.5
  • Update docxtemplater to 3.30.3
  • Update chart-module-3.7.1

3.17.7

  • Update xlsx-module-3.10.1
  • Update table-module-3.16.7
  • Update subtemplate-module-3.11.0
  • Update html-pptx-module-3.4.0
  • Update html-module-3.30.1
  • Update footnotes-module-3.4.0
  • Update docxtemplater to 3.29.4
  • Update chart-module-3.6.5

3.17.6

  • Add configurator.configureOptions to configure options
  • Update xlsx-module-3.9.3
  • Update table-module-3.16.2
  • Update subtemplate-module-3.10.2
  • Update styling-module-3.6.13
  • Update node to 16.14.2
  • Update image-module-3.13.5
  • Update html-module-3.29.7
  • Update error-location-module-3.4.3
  • Update chart-module-3.6.3

3.17.5

  • Bugfix issue with grid pptx module (part of the table module)
  • Update table-module-3.15.2
  • Update subtemplate-module-3.10.1
  • Update styling-module-3.6.12
  • Update slides-module-3.4.2
  • Update node to 16.14.0
  • Update image-module-3.13.2

3.17.4

  • Update xlsx-module-3.9.0
  • Update styling-module-3.6.11
  • Update meta-module-3.2.9
  • Update image-module-3.13.1
  • Update html-pptx-module-3.3.1
  • Make docker files way smaller (from 50MB to 1MB)

3.17.3

  • Make internal "parser" configuration faster, in particular when using big JSON data and loops.
  • Update xlsx-module-3.8.4
  • Update meta-module-3.2.8

3.17.2

  • Update xlsx-module-3.8.3
  • Update node to 16.13.2
  • Update table-module-3.15.1
  • Update subtemplate-module-3.10.0
  • Update styling-module-3.6.10
  • Update slides-module-3.4.1
  • Update pptx-sub-module-3.1.1
  • Update meta-module-3.2.7
  • Update image-module-3.12.4
  • Update html-module-3.29.3
  • Update footnotes-module-3.3.1
  • Update error-location-module-3.4.2
  • Update docxtemplater to 3.28.6

3.17.1

Bugfix to allow to replace images using title field

3.17.0

  • Update docxtemplater to 3.28.0
  • Update xlsx-module-3.8.0
  • Update word-run-module-3.2.0
  • Update table-module-3.15.0
  • Update subsection-module-3.5.0
  • Update slides-module-3.4.0
  • Update pptx-sub-module-3.1.0
  • Update paragraph-placeholder-module-3.3.0
  • Update image-module-3.12.0
  • Update html-pptx-module-3.3.0
  • Update html-module-3.29.0
  • Update footnotes-module-3.3.0
  • Update docxtemplater to 3.28.0
  • Update chart-module-3.4.0

3.16.1

  • Update styling-module-3.4.1
  • Update slides-module-3.3.7

3.16.0

  • Update docxtemplater to 3.27.1 => this should make it possible to have output documents as big as 500MB.
  • Update table-module-3.14.0
  • Update subtemplate-module-3.8.0
  • Update subsection-module-3.4.0
  • Update styling-module-3.4.0
  • Update image-module-3.11.0
  • Update html-pptx-module-3.2.5
  • Update html-module-3.28.0
  • Update error-location-module-3.4.0
  • Update chart-module-3.3.0
  • Add fix for document corruption when looping over multiple images

3.15.1

  • Make run.bash work on bash version 3
  • Add req argument to configurator functions

3.15.0

  • Update to node 16.13 (LTS version)
  • Update xlsx-module-3.7.2
  • Update table-module-3.13.9
  • Update styling-module-3.3.9
  • Update slides-module-3.3.6
  • Update image-module-3.9.2
  • Update error-location-module-3.3.1
  • Update docxtemplater to 3.26.0
  • Update chart-module-3.2.1

3.14.1

  • Update xlsx-module-3.7.1
  • Add response for / route instead of default 404 route
  • Add ENTRYPOINT and WORKDIR to Dockerfile

3.14.0

  • Remove Docker volumes used for code, use ADD to add the code to docker image instead
  • Update subtemplate-module-3.7.1

3.13.2

  • Update docxtemplater to 3.25.4
  • Update xlsx-module-3.7.0
  • Update image-module-3.8.14
  • Update error-location-module-3.3.0

3.13.1

  • Update docxtemplater to 3.25.2
  • Update chart-module-3.1.1
  • Make image size preserve aspect ratio, and use max size of 100x100 by default.

3.13.0

  • Use async data generation and make it possible to configure a single module (for example the image module)
  • Update table-module-3.13.7
  • Update slides-module-3.3.5
  • Update image-module-3.8.13
  • Update html-module-3.26.9
  • Update error-location-module-3.2.5
  • Update docxtemplater to 3.25.0
  • Update chart-module-3.1.0

3.12.1

  • Allow up to 25MB json data when using form field
  • Update xlsx-module-3.6.3
  • Update word-run-module-3.1.4
  • Update table-module-3.13.6
  • Update subtemplate-module-3.7.0
  • Update subsection-module-3.3.12
  • Update styling-module-3.3.6
  • Update slides-module-3.3.4
  • Update qrcode-module-3.2.6
  • Update pptx-sub-module-3.0.17
  • Update paragraph-placeholder-module-3.2.5
  • Update meta-module-3.2.6
  • Update image-module-3.8.12
  • Update html-pptx-module-3.2.4
  • Update html-module-3.26.6
  • Update footnotes-module-3.2.6
  • Update error-location-module-3.2.4
  • Update docxtemplater to 3.23.1
  • Update chart-module-3.0.2

3.12.0

  • Add chart module
  • Update xlsx-module-3.6.1
  • Update word-run-module-3.1.2
  • Update table-module-3.13.4
  • Update subtemplate-module-3.6.4
  • Update subsection-module-3.3.10
  • Update styling-module-3.3.4
  • Update slides-module-3.3.2
  • Update pptx-sub-module-3.0.10
  • Update paragraph-placeholder-module-3.2.3
  • Update node to 14.17
  • Update meta-module-3.2.4
  • Update image-module-3.8.8
  • Update html-pptx-module-3.2.2
  • Update html-module-3.26.3
  • Update footnotes-module-3.2.3
  • Update error-location-module-3.2.2
  • Update docxtemplater to 3.22.3

3.11.9

  • Update to node 14.16.0
  • Update table-module-3.12.0
  • Update image-module-3.8.4
  • Update html-module-3.25.5
  • Add linebreak option

3.11.8

  • Update xlsx-module-3.4.3
  • Update to docxtemplater 3.21.1
  • Update table-module-3.11.4
  • Update html-module-3.25.3
  • Update footnotes-module-3.2.0
  • Update angular-expressions

3.11.7

  • Upgrade angular-expressions to 1.1.2
  • Update xlsx-module-3.4.1
  • Update table-module-3.11.3
  • Update subtemplate-module-3.6.1
  • Update subsection-module-3.3.7
  • Update node to 12.20.0
  • Update meta-module-3.2.3
  • Update image-module-3.8.3
  • Update html-pptx-module-3.2.0
  • Update html-module-3.25.0

3.11.6

  • Update xlsx-module-3.3.6
  • Update word-run-module-3.1.1
  • Update table-module-3.10.0
  • Update image-module-3.7.9
  • Update html-module-3.24.2
  • Update error-location-module-3.2.0
  • Update docxtemplater to 3.19.6
  • Add Table Merge module
  • Add support for ErrorLocationModule with pptx

3.11.5

  • Update html-module-3.24.0

3.11.4

  • Update xlsx-module-3.3.3

3.11.3

  • Update table-module-3.9.6
  • Update subtemplate-module-3.6.0
  • Update footnotes-module-3.1.4
  • Return 400 instead of 500 if doc is not a zipfile
  • Add support for subtemplateSubsections option

3.11.2

  • Update html-module-3.23.7
  • Update html-pptx-module-3.1.4
  • Update table-module-3.9.5
  • Update xlsx-module-3.3.2

3.11.1

  • Update dependencies
  • Update docxtemplater to 3.17.9
  • Update html-module-3.23.0
  • Update image-module-3.7.8
  • Update node to 12.18.1
  • Update styling-module-3.3.1
  • Update subtemplate-module-3.5.6
  • Update xlsx-module-3.3.0

3.11.0

  • Add pptx-sub module
  • Update angular-expressions to 1.1.1
  • Update docxtemplater to 3.17.5
  • Update error-location-module-3.1.6
  • Update footnotes-module-3.1.3
  • Update html-module-3.22.7
  • Update html-pptx-module-3.1.1
  • Update image-module-3.7.6
  • Update meta-module-3.2.2
  • Update paragraph-placeholder-module-3.2.2
  • Update pptx-sub-module-3.0.3
  • Update qrcode-module-3.2.3
  • Update slides-module-3.2.9
  • Update styling-module-3.2.1
  • Update subsection-module-3.3.6
  • Update subtemplate-module-3.5.4
  • Update table-module-3.9.4
  • Update to node 12.16.2
  • Update word-run-module-3.1.0
  • Update xlsx-module-3.2.8

3.10.2

  • Add html-pptx-module 3.0.1
  • Update meta-module to 3.2.0
  • Update xlsx-module to 3.1.6
  • Add support for data:image/svg

3.10.1

Fix vulnerability CVE-2020-5219, see advisory and github issue for more detail.

3.10.0

  • Update docxtemplater to 3.16.5
  • Update paragraph-placeholder to 3.2.0
  • Update paragraph-placeholder to 3.7.1
  • Update xlsx-module to 3.1.3

3.9.9

  • Update docxtemplater to 3.16.1
  • Update html-module-3.21.6
  • Update image-module-3.7.0
  • Update xlsx-module-3.1.2
  • Update table-module-3.9.2

3.9.8

  • Update docxtemplater to 3.15.4
  • Add optional subrendering of included documents
  • Update footnotes-module-3.1.1
  • Update html-module-3.21.5
  • Update image-module-3.6.1
  • Update meta-module-3.1.0
  • Update xlsx-module-3.1.1

3.9.7

  • Update to docxtemplater 3.14.10
  • Update html-module to 3.21.1
  • Update image-module to 3.6.0
  • Use updated angular-parser
  • Update paragraph-placeholder-module to 3.1.0

3.9.6

  • Add configuration.js
  • Update node to 12.13
  • Update table-module to 3.9.1
  • Update image-module to 3.5.4
  • Use pizzip

3.9.5

  • Do not crash if nullValues contain special characters
  • Update subtemplate-module 3.5.1
  • Update subsection-module 3.3.5

3.9.4

  • Add subloop filter (for xlsx module)

3.9.3

  • Update xlsx-module to 3.1.0
  • Update html-module to 3.20.3

3.9.2

  • Update word-run-module to 3.0.6
  • Update docxtemplater to 3.14.1
  • Update xlsx-module to 3.0.2
  • Update to node 12

3.9.1

  • Add paragraph-placeholder module v3.0.0
  • Update html-module-3.20.1
  • Update docxtemplater to 3.14.0
  • Update table-module-3.7.4

3.9.0

  • Update node to 10
  • Update html-module-3.18.4

3.8.0

  • Add xlsx-module-3.0.1
  • Update docxtemplater
  • Update html-module-3.18.2

3.7.10

  • Update html-module-3.18.0
  • Update table-module-3.7.3

3.7.9

  • Update subtemplate-module-3.5.0
  • Update slides-module-3.2.1
  • Update error-location-module-3.1.4
  • Update html-module-3.17.2

3.7.8

  • Update dependencies and docxtemplater to 3.11.3
  • Update html-module-3.16.9
  • Update table-module-3.7.2

3.7.7

  • Update html-module-3.16.8
  • Update docxtemplater to 3.11.1
  • Update node to 10.15.3
  • Update table-module-3.7.1

3.7.6

  • Add support for specifiying default image size

3.7.5

  • Add support for grid pptx module
  • Update image-module-3.5.3
  • Update table-module-3.6.1
  • Update styling-module-3.2.0

3.7.4

  • Update subsection-module-3.3.4
  • Update html-module-3.16.5

3.7.3

  • Update html-module-3.16.3

3.7.2

  • Add support for stylesheet in HTML module
  • Update html-module-3.16.1

3.7.1

  • Add support for setting delimiters
  • Output nullValues in headers
  • Update html-module-3.15.0
  • Update footnotes-module-3.1.0

3.7.0

  • Update Dockerfile to use multi-layered build/run
  • Update html-module-3.14.1
  • Update image-module-3.5.2
  • Update slides-module-3.2.0
  • Update subsection-module-3.3.1
  • Update table-module-3.6.0
  • Upgrade node to version 10.15.2

3.6.7

  • Update html-module-3.13.6

3.6.6

  • Update image-module-3.5.1
  • Update node to 8.15.0
  • Update subdependencies
  • Update subtemplate-module-3.4.8
  • Update table-module-3.5.4

3.6.5

  • Update image-module-3.4.2
  • Update html-module-3.13.4
  • Update docxtemplater to 3.9.2

3.6.4

  • Update table-module-3.5.3
  • Update html-module-3.13.3

3.6.3

  • Update html-module-3.13.0

3.6.2

  • Update html-module-3.11.10
  • Update subtemplate-module-3.4.7

3.6.1

  • Update html-module-3.11.5

3.6.0

  • Update node to 8.11.3
  • Update error-location-module-3.1.3
  • Update footnotes-module-3.0.7
  • Update html-module-3.10.5
  • Update image-module-3.3.4
  • Update meta-module-3.0.2
  • Update qrcode-module-3.2.1
  • Update slides-module-3.1.9
  • Update styling-module-3.1.4
  • Update subsection-module-3.2.4
  • Update subtemplate-module-3.4.5
  • Update table-module-3.5.1
  • Update table-module-3.5.2
  • Update word-run-module-3.0.5

3.5.12

  • Update html-module-3.10.1

3.5.11

  • Update html-module-3.10.0

3.5.10

  • Add grid module
  • Update table-module-3.5.0
  • Update error-location-module-3.1.1
  • Update footnotes-module-3.0.6
  • Update html-module-3.9.2
  • Update image-module-3.3.2
  • Update meta-module-3.0.1
  • Update qrcode-module-3.1.6
  • Update slides-module-3.1.8
  • Update styling-module-3.1.3
  • Update subsection-module-3.2.3
  • Update subtemplate-module-3.4.3
  • Update subtemplate-module-3.4.4
  • Update table-module-3.4.4
  • Update word-run-module-3.0.4

3.5.9

  • Update footnotes-module-3.0.5
  • Update html-module-3.8.4
  • Update image-module-3.3.1
  • Update qrcode-module-3.1.5
  • Update styling-module-3.1.2
  • Update subsection-module-3.2.2
  • Update subtemplate-module-3.4.2
  • Update table-module-3.4.3
  • Update word-run-module-3.0.3

3.5.8

  • Update docxtemplater to 3.6.6
  • Update error-location-module-3.1.0
  • Update footnotes-module-3.0.4
  • Update html-module-3.8.1
  • Update image-module-3.2.8
  • Update qrcode-module-3.1.4
  • Update styling-module-3.1.1
  • Update subsection-module-3.2.1
  • Update subtemplate-module-3.4.1
  • Update table-module-3.4.1
  • Update word-run-module-3.0.2

3.5.7

  • Update html-module 3.1.8

3.5.6

  • Update slides-module 3.1.7

3.5.5

  • Allow ’ and “ and ” as quotes in angularexpressions

3.5.4

  • Update style-module 3.1.0

3.5.3

  • Add support for base64 image/jpeg

3.5.2

  • Update html-module 3.7.1

3.5.1

  • Update html-module 3.7.0
  • Update image-module 3.2.7
  • Update slides-module 3.1.5

3.5.0

  • Add Footnotes module
  • Add Style module
  • Add meta module
  • Add word-run module

3.4.1

  • Update image-module-3.2.5
  • Update table-module-3.4.0
  • Update html-module-3.6.6

3.4.0

  • Update node version
  • Update HTMLModule to include ImageModule
  • Update html-module-3.6.4
  • Update table-module-3.3.1
  • Update docxtemplater@3.5.1
  • Update qrcode-module-3.1.3
  • Update image-module-3.2.4

3.3.5

  • Update html-module-3.6.1
  • Update image-module-3.2.2
  • Update slides-module-3.1.4
  • Update html-module-3.6.0
  • Update styling-module-3.0.0

3.3.4

  • Update subsection-module-3.1.0
  • Update slides-module-3.1.3
  • Update subtemplate-module-3.2.4
  • Update subtemplate-module-3.2.3

3.3.3

  • Update subsection-module-3.0.3
  • Update html-module-3.5.10
  • Update footnotes-module-3.0.3
  • Update image-module-3.2.1
  • Update qrcode-module-3.1.2
  • Update subtemplate-module-3.2.2

3.3.2

  • Add subsection-module-3.0.2
  • Update image-module-3.2.0
  • Update subsection-module-3.0.1
  • Update qrcode-module-3.1.1
  • Update subsection-module-3.0.0
  • Update subtemplate-module-3.2.1
  • Update table-module-3.3.0
  • Update table-module-3.2.3

3.3.1

  • Add paragraphLoop option

3.3.0

  • Update error-location-module-3.0.3
  • First iteration of error-location module
  • Update word-run-module-3.0.1
  • Update image-module-3.1.6
  • Update footnotes-module-3.0.2
  • Update html-module-3.5.9

3.2.8

  • Use logRequests for all routes

3.2.7

  • Update qrcode-module-3.1.0
  • Update image-module-3.1.5
  • Update html-module-3.5.8
  • Update html-module-3.5.7
  • Update subtemplate-module-3.2.0
  • Update subtemplate-module-3.1.9
  • Update subtemplate-module-3.1.8
  • Update html-module-3.5.6
  • Update subtemplate-module-3.1.7

3.2.6

First publicly released version

Talk with sales Contact us