Merge Document Template Service
Project description
Document Merge Service
A document template merge service providing an API to manage templates and merge them with given data. It can also be used to convert Docx files to PDF.
Installation
Requirements
- docker
- docker-compose
After installing and configuring those, download docker-compose.yml and run the following command:
docker-compose up -d
You can now access the api at http://localhost:8000/api/v1/ which includes a browsable api.
Workaround LibreOffice lockup
The workaround has a setting called ISOLATE_UNOCONV
, it is only enabled in the
development environment. If ISOLATE_UNOCONV
is enabled the container needs
CAP_SYS_ADMIN
. See docker-compose.override.yml.
cap_add:
- CAP_SYS_ADMIN
security_opt:
- apparmor:unconfined
environment:
- ISOLATE_UNOCONV=true
Getting started
Uploading templates
Upload templates using the following:
curl --form template=@docx-template.docx --form name="Test Template" --form engine=docx-template http://localhost:8000/api/v1/template/
Merging a template
After uploading successfully, you can merge a template with the following call:
curl -H "Content-Type: application/json" --data '{"data": {"test": "Test Input"}}' http://localhost:8000/api/v1/template/test-template/merge/ > output.docx
Converting a template
To convert a standalone Docx file the following call can be used:
curl -X POST --form file=@my-test-file.docx --form target_format="pdf" http://localhost:8000/api/v1/convert > example.pdf
Further reading
- Configuration - Further configuration and how to do a production setup
- Usage - How to use the DMS and it's features
- Contributing - Look here to see how to start with your first contribution. Contributions are welcome!
License
Code released under the GPL-3.0-or-later license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for document_merge_service-7.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4a442c5d6354740e4457dd9aa79f25efd1829729e7ec24f929c7bb17a4e8f1c |
|
MD5 | 0de418552f2b9f500cfc2c7ea4c2464f |
|
BLAKE2b-256 | c435cfd2e5ddc0860492d6742a5f198d1023ce8dc5c5ea17398b71f2ebd19100 |
Hashes for document_merge_service-7.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 131380ae89b92e77a1973959af50e363f7a6b813dca83d9a182e5f00488496f6 |
|
MD5 | 4c768c33fdc778bf6cc57e72741edd32 |
|
BLAKE2b-256 | d7d1aaee0d3cac6c52a5ace49c6546b79ce6cad496e778e64d597df1f61c2112 |