You are currently offline, serving cached version

Paragraph-placeholder Module

This module makes it possible to add a placeholder to a paragraph and automatically drop the paragraph if the placeholder evaluates to null or undefined

This module is available as part of the docxtemplater ENTREPRISE plan.


You will need docxtemplater v3: npm install docxtemplater

Install this module with npm install --save "$url"

Usage (nodejs)

var PPModule = require("docxtemplater-pp-module");

var ppModule = new PPModule({});

var zip = new PizZip(content);
var docx = new Docxtemplater(zip, {
    modules: [ppModule],
        company_name: "Acme Corp",
        company_shareprice: 20.93,

var buffer = docx.getZip().generate({
    type: "nodebuffer",
    compression: "DEFLATE",

fs.writeFile("test.docx", buffer);

In the browser, use following html file :

    <script src="node_modules/docxtemplater/build/docxtemplater.js"></script>
    <script src="node_modules/pizzip/dist/pizzip.js"></script>
    <script src="node_modules/pizzip/vendor/FileSaver.js"></script>
    <script src="node_modules/pizzip/dist/pizzip-utils.js"></script>
    <script src="build/pp-module.js"></script>
            function (error, content) {
                if (error) {

                var ppModule = new DocxtemplaterPPModule({});
                var zip = new PizZip(content);
                var doc = new docxtemplater(zip, {
                    modules: [ppModule],

                    company_name: "Acme Corp",
                    company_shareprice: 20.93,
                var out = doc.getZip().generate({
                    type: "blob",
                saveAs(out, "generated.docx");


Your docx should contain the text: {?data}. After installing the module, you can use a working demo by running node sample.js.

When a tag beginning with a question mark (?) is found, the tag value is calculated.

  • If the tag value is falsy the whole paragraph containing the tag is removed.

  • If the tag is true, the paragraph is kept but the tag is replaced to "".

  • If the tag value is truthy, the tag is replaced normally and the paragraph is kept.

If there are multiple "paragraph placeholder" tags in the same paragraph, the paragraph will be removed if one of the values is falsy. Only if all values are truthy, the paragraph is kept.



Bugfix "Cannot read property 'offset' of undefined, when using multiple paragraph placeholder tags in the same paragraph


Declare supportedFileTypes, which allows to use this module with the new docxtemplater constructor which was introduced in docxtemplater 3.17.


Hide value if value === true (in that case, show the paragraph but don't display any value)


Add support for pptx format (Powerpoint files)


Initial release

I'm the creator of docxtemplater. I work on making docxtemplater great since 2013.