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
File details
Details for the file document_merge_service-7.1.0.tar.gz
.
File metadata
- Download URL: document_merge_service-7.1.0.tar.gz
- Upload date:
- Size: 757.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00566c0a3c6f847ad0af39f3213ab372f29f813caa3d173e2a5d0903a77e409b |
|
MD5 | fa2a62ac955f79264734ab0a8a3aae53 |
|
BLAKE2b-256 | 0a16f4e81592c3a8a413d81b2289e89f12b700612dc2c75f10d2a223608e5392 |
File details
Details for the file document_merge_service-7.1.0-py3-none-any.whl
.
File metadata
- Download URL: document_merge_service-7.1.0-py3-none-any.whl
- Upload date:
- Size: 784.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8127e3c35291155614536f26f7d4ebfbe2e2fe003684edbe414edb3963f82f3 |
|
MD5 | b9e2b36a9c0d8721613960d82385c5d8 |
|
BLAKE2b-256 | 918cda96e93e29f294e7d5c3a562d8536d8f93936263d9cba56512367a75f855 |