Powerful Document automation & reporting API to assemble templates into DOCX, PDF, XLSX, PPTX, HTML, and more than 50+ document formats
GroupDocs.Assembly is a on-premise solution for document automation and reporting API that generates documents from templates and data sources (JSON, XML, CSV, OData, databases, .NET/Java objects, REST, and more). Automate quotes, contracts, invoices, and reports across popular Office, PDF, HTML, and image formats with LINQ-based templates, barcodes, charts, conditional logic, and mail-merge style fields.
- Published GroupDocs.Assembly 25.12 release with importants fixes and (improvements)[https://releases.groupdocs.com/assembly/net/release-notes/2025/groupdocs-assembly-for-net-25-12-release-notes/].
- Improved barcode image generation and embedding in assembled reports under Linux.
- Enhanced examples for JSON/CSV/SQL data sources, HTML output, and attachments.
On-premise engine to build documents from templates using LINQ syntax, mail-merge style fields, sequential data, and conditional logic. Supports CSV, JSON, XML, OData, DB queries, and custom .NET types.
- GroupDocs.Assembly-for-.NET: Core API with charts, barcodes, conditional/loop regions, and field updating.
Repo & examples: https://github.com/groupdocs-assembly/GroupDocs_Assembly_NET/tree/master/Examples - Showcases & Plugins: ASP.NET Web Forms demo and plugins for progress tracking and template comparison.
Repo: https://github.com/groupdocs-assembly/GroupDocs_Assembly_NET/tree/master/Showcases
// Assemble DOCX from a LINQ-enabled Word template with JSON data
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(
CommonUtilities.GetSourceDocument("Templates/Quote.docx"),
CommonUtilities.SetDestinationDocument("Reports/Quote.docx"),
new DataSourceInfo(CommonUtilities.GetJsonData("data.json"), "orders"));Native Java library for templated document generation with regions, conditions, barcodes, and HTML resources.
// Assemble a contract from DOCX template using a Java object data source
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(
"Templates/Contract.docx",
"Reports/Contract Output.docx",
new DataSourceInfo(new CustomerData(), "customer"));Use the .NET or Java engine from Python/Node.js to automate report generation in scripts or services.
- Python via .NET: https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-Python-via-.NET
- Node.js via Java: https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-Node.js-via-Java
from groupdocs.assembly import DocumentAssembler, DataSourceInfo
assembler = DocumentAssembler()
assembler.assemble_document(
"Templates/Invoice.docx",
"Reports/Invoice.pdf",
DataSourceInfo({"items": items, "customer": customer}, "data"))- Quote, invoice, and contract generation with conditional pricing and tax logic.
- Batch report assembly (orders, shipments, statements) from SQL/JSON feeds.
- Dynamic proposals and SOWs with reusable content blocks and nested regions.
- Compliance-ready PDFs with updated fields, attachments, and barcodes.
- Marketing docs: personalized brochures, event badges, and certificates.
- 50+ formats: DOCX, DOTX, XLSX, PPTX, PDF, HTML/MHTML, ODS/ODT/OTP, MSG/EML, TXT/MD, SVG.
- Template syntax: LINQ regions, mail-merge fields, conditional/loop blocks, formulas, and inline expressions.
- Data sources: JSON, XML, CSV, OData, DB/SQL, REST, custom objects, external docs, and Word/Excel tables.
- Content controls: charts, tables, lists, images, barcodes, attachments, hyperlinks, and HTML resources.
- Formatting: number/date/text casing, ordinal/cardinal/alphabetic formatting, custom format strings.
- Security & output: password-protected templates, HTML with resources, PDF, XPS, images; update fields on save.
- Cross-platform: .NET Framework/Core, Java SE/EE, Linux/Windows/macOS; COM Interop for legacy stacks.
- .NET:
Install-Package GroupDocs.Assemblyordotnet add package GroupDocs.Assembly - Java: Add
groupdocs-assemblyfrom Maven Central. - Run sample projects in the repositories above to assemble Word/Excel/PDF reports from JSON/SQL/CSV.
- Documentation and tutorials: https://docs.groupdocs.com/assembly/
- Free support forum: https://forum.groupdocs.com/c/assembly
- Temporary license for full-feature evaluation: https://purchase.groupdocs.com/temporary-license
document-automation document-generation template-engine reporting-api mail-merge linq-templates word-automation excel-reporting pdf-generation json-to-docx sql-to-pdf data-binding batch-reporting barcode-generation chart-reporting contract-automation invoice-generation quote-builder document-sdk