DocxFactory's Python binding is generated through SWIG and exposes singleton-style classes.
import docxfactoryBoth naming styles are available:
- CamelCase:
WordProcessingCompiler,WordProcessingMerger - snake_case:
word_processing_compiler,word_processing_merger
Returns the compiler singleton.
compiler = docxfactory.WordProcessingCompiler.get_instance()Compiles a DOCX template into DocxFactory's compiled format.
compiler.compile("template.docx", "template.dfw")Returns the merger singleton.
merger = docxfactory.WordProcessingMerger.get_instance()Loads a compiled template.
merger.load("template.dfw")Merges XML payload into the loaded template.
merger.merge("<root><name>Alice</name></root>")Writes merged content into a DOCX file.
merger.save("output.docx")Closes and resets merger state.
merger.close()Depending on template usage, the wrapper also exposes methods such as:
set_clipboard_value(...)set_chart_value(...)paste(...)
These are useful for advanced templates using clipboard regions or chart data.
C++ exceptions are converted into Python Exception objects. Wrap compile/merge/save logic in try/except.
try:
compiler.compile("template.docx", "template.dfw")
except Exception as exc:
print(f"DocxFactory error: {exc}")