Skip to main content

Merge Document Template Service

Project description

Document Merge Service

Build Status Ruff License: GPL-3.0-or-later

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

document_merge_service-7.1.0.tar.gz (757.6 kB view details)

Uploaded Source

Built Distribution

document_merge_service-7.1.0-py3-none-any.whl (784.4 kB view details)

Uploaded Python 3

File details

Details for the file document_merge_service-7.1.0.tar.gz.

File metadata

File hashes

Hashes for document_merge_service-7.1.0.tar.gz
Algorithm Hash digest
SHA256 00566c0a3c6f847ad0af39f3213ab372f29f813caa3d173e2a5d0903a77e409b
MD5 fa2a62ac955f79264734ab0a8a3aae53
BLAKE2b-256 0a16f4e81592c3a8a413d81b2289e89f12b700612dc2c75f10d2a223608e5392

See more details on using hashes here.

File details

Details for the file document_merge_service-7.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for document_merge_service-7.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c8127e3c35291155614536f26f7d4ebfbe2e2fe003684edbe414edb3963f82f3
MD5 b9e2b36a9c0d8721613960d82385c5d8
BLAKE2b-256 918cda96e93e29f294e7d5c3a562d8536d8f93936263d9cba56512367a75f855

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page