Breaking : To choose between docx or pptx, you now have to pass docx.setOptions({fileType:'docx'}) where the fileTypes are one of 'pptx', 'docx' Using es6 instead of coffeescript to code (code is still compiled to es5, eg current implemented version of js)
It is now possible to use tags inside of docx equations
This release adds error management, all errors that are thrown by docxtemplater are now typed and contain additional properties.
- fix : When using loops with images inside, the modulemanager was not updated and would continue to return 'image' for the type of the tag even if the type changed
- feature : it is now possible to set the nullgetter for simple tags and for raw xml tags.
- bugfix for the modulemanager : it was not in sync in some cases
- They now is a default value for rawtags {@rawXml}, which is '' (this will delete the paragraph)
- bugfix (There was still '{' and '}' hardcoded)
- It is now possible to output the delimiters in the output (for example output "Mark } Z" with the template {name}
- scopeManager now doesn't return the string 'undefined' when the parser returns null. That behaviour is moved to the xmlTemplater class
- docxtemplater is now much faster to process loops #131
- docutils should not be used any more except for
DocUtils.defaults
(eg docutils is deprecated) - Module maintainers: please don't rely on docUtils anymore, except for docUtils.defaults
- Some templates would output corrupt templates, this should not happen anymore (if it still does, please open an issue)
Upgrade guide :
- If you use modules (image-module, chart-module, or others) its best to update those because they shouldn't use DocUtils anymore
- Add ScopeManager.loopOverValue
- {@rawXml} works in pptx
- Created new docxtemplater.com website
- Using mocha instead of jasmine-node
- New FAQ section in docs
- Corrupt documents when
<w:t>}{/body}</w:t>
- New events for moduleManager :
xmlRendering
andxmlRendered
- pptx generation was repaired 2be10b69d47e8c4ba0f541e4d201b29ef6281505
- header generation works with any amount of headers/footers
- slide generation works with any amount of slides
- docx.setOptions({delimiters:{start:”[“,end:”]”}}) now works e2d06dedd88860d2dac3d598b590bf81e2d113a6
- allowing same tag as start and end delimiter (eg @user@ instead of {user}) 32b9a7645f659ae835fd695e4d8ea99cc6bbec94
- made it possible to use objects to loop over (eg {#user} {name} {/user}) 97411cb3537be08f48ff707ac34d6aac8b008c50
- docxtemplater doesn’t depend on fs anymore, for transparency and security reasons.
loadFromFile
has been removed. You now just have to pass the content to DocxGen’s constructor.setTags
has been renamed tosetData
applyTags
has been renamed torender
- the constructor has changed: eg
new DocxGen(content,options)
will now callJSzip.load(content,options)
. - To pass options (such as the parser), you will have to call
setOptions
- The
output
function has been removed. You should now callgetZip().generate(options)
where the options are documented here: http://stuk.github.io/jszip/documentation/api_jszip/generate.html - the qrcode module has been removed, and will be developped in an other package that will be attached to docxtemplater
The QrCode Option had a security issue. If you don’t upgrade according to this, the functionality should continue to work but the leak will still be there. If you are running in the browser, the vulnerability will not affect you (no access to the filesystem). If the users can’t change the qrCodes or their value, you’re safe too.
If you set qrCode:true, you are affected. The Command Line is not affected as of v0.7.0 (but was on 0.6.3 and less). However the command line as of v0.7.0 is not more able to load images over the filesystem.
You should set qrCode to a function now, according to http://docxtemplater.readthedocs.org/en/latest/configuration.html#image-replacing.