# docxtemplater
# version
3.49.1 •
# downloads
95,272
# repository
github.com/open-xml-templating/docxtemplater
# homepage
github.com/open-xml-templating/docxtemplater#readme
# default readme
# docxtemplater
Note If you love docxtemplater, please help us spread your trust in docxtemplater by leaving us a video or text testimonial
docxtemplater is a library to generate docx/pptx documents from a docx/pptx template. It can replace {placeholders} with data and also supports loops and conditions. The templates can be edited by non-programmers, for example your clients.
docxtemplater is very robust because of the many fixed issues over the years, and the high quality of tests and code.
# Features
Demo Site
Replace a {placeholder} by a value
Use loops: {#users} {name} {/users}
Use loops in tables to generate columns
Use conditions (if users.length>3) with angular Parsing
Insert custom XML {@rawXml} (for formatted text for example)
# Quickstart
Get started with docxtemplater on nodejs
Get started with docxtemplater in the browser (react, angular, vue, nextjs)
# Documentation
The full documentation of the latest version can be found here.
See CHANGELOG.md for information about how to migrate from older versions.
# Modules
Functionality can be added with the following paid modules :
Image module to add a given image with the syntax: {%image};
Html Module to insert formatted text in a docx document with the syntax {~html};
XLSX Module to be able to do templating on Excel files (xlsx extension), also with loops and conditions;
Chart Module to replace a chart by using data from the JSON object that you give with the syntax {$chart};
Html-Pptx Module to insert formatted text in a pptx document with the syntax {~html};
Error Location Module to show the errors in the template using Word comments
Slides Module to create multiple slides dynamically with the syntax {:users};
Subtemplate Module to include an external docx file inside a given docx file with the syntax {:include doc};
Subsection Module to include subsections (headers/footers) from an other document with the syntax {:subsection doc};
Subtemplate-pptx Module to include an external pptx file inside a given pptx file with the syntax {:include doc};
Word-Run Module to include raw runs (w:r) inside the document with the syntax {r@wrun}. This makes it possible to include styled text without having to remove the enclosing paragraph like in the {@rawXml} tag;
QrCode Module to replace an image, keeping any existing properties;
Table Module to create tables from two dimensional data using the syntax {:table data};
Meta Module to make a document readonly, add a text watermark or update the margins;
Styling Module restyle a paragraph, a cell or a table depending on some data using the syntax {:stylepar style};
Footnotes Module to be able to add footnotes to a document using the syntax {:footnotes foot}
Paragraph Placeholder Module to simplify conditions that should show or hide a given paragraph using the syntax {?tag}
# About docxtemplater
Docxtemplater is my main job, and has been maintained for over 8 years. Expect to get great support if you buy any modules, and also good support on the open-source version.