docx-template
docx-template copied to clipboard
Personalized docx for data
docx-template
create personalized docx from docx template and data
supported variants following javascript language
any javascript expression
*plain text form control's tag with pattern ${...} *plain text form control's content with pattern ${...}
picture variable
picture form control's tag with expression pattern ${...}
if(...)[with][{...}]
richtext form control's tag with pattern if(...)[with][{...}]
for(;;)[with][{...}]
richtext form control's tag with pattern for(;;)[with][{...}]
sub document
- dynamic: richtext form control's tag with pattern include(exp:subdoc url)
- embed: richtext form control's tag with pattern include(), and content is embeded word ole object
import javascript code
richtext form control's tag with pattern script(...), and content is embeded javascript ole object
API
parse(template.docx)
return Promise, resolved with a VariantDocx with following api * assemble({}/data/, {clearWrap=true/default clear sdt/}/option/): return Promise resolved docx4js instance
Example
import docxTemplate from "docx-template" docxTemplate.parse("~/template.docx").then(varDoc=>{ let staticDocx=varDoc.assemble({name:"foo"}) staticDocx.save("~/static.docx") })
Todo
- support javascript file for functions
- inline subdoc
License
GPL