I’m looking for a solution to generate document (ideally docx but pdf is ok) from a database

Ex: I have a project entry (with client info, dates, information about the project, etc.) and I want to generate documents from a tender templates, containing selected entries from the database.

Here is what I tried until now :

  • Custom database (tinyDB) + custom webpage form + a docx template with jinja markups served by a homemade webpage hosted on pythonanywhere (lot of work and not reliable as I’m doing everything myself)
  • Nocodb form and database (no document generation yet) (self-hosted or on cloud)
  • Airtable (closed source and on cloud) for forms, database and document generation

Airtable is what I’m currently trying because it’s the only one that I found that have lot of support and adds on.

There are a few options on Airtable for document generation, lot of which cost around $30/month which is why I’m looking for a viable alternative. Ideally I would like to be able to upload my already made templates.

More point to the solution if it’s supports geodata

I’m considering keeping airtable and using the api to generate document with the python program I used on the first point, but I’d like to know if there is more options.

EDIT2: to be concise: I’m looking for an alternative to Airtable + Make. Ideally, FOSS and self-hostable or on cloud

Edit: precision: I need to create a document that contains multiple items of the db. Ex: I need to create a resume with different experiences that are saved in the database

Here is an example of a template:

  • @BiorixOP
    link
    English
    224 days ago

    Nice!

    Secretary looks exactly like Docxtemplate, which I used on my homemade webpage. Maybe it’s a fork.

    It never was really user friendly so I am looking to replace it. That is also the main issue with your self build solution? Or are there other issues as well?

    Yes exactly. I need people to be able to use the tools easily and reliably and to be able to add templates themselves.

    Also, my main job is not developing tools and I can only do it on my spare time, so the fastest it is to implement the better.

    After a week to try, Airtable + Make seems to be the easiest. Airtable also offers to generate documents directly in it, but it lacks options.

    My main issue with a lot of tool (except Docxtemplate or similar) is to renders array of data. Most solution replace a {{tag}} with an info, but what I would need is a {{array[i]}} and to be able to generate different paragraphs.

    • @florian
      link
      English
      218 days ago

      What is “Make”? Hard to Google name.

      Have you considered open sourcing you self built solution?

      • @BiorixOP
        link
        English
        218 days ago

        It used to be integromat. You can look it up more easily, haha

        I almost succeeded with it, but to integrate multiple entries in one document, it was too complicated.

        So, I’m modifying the code I originally made to make API calls to Airtable, and I assemble the doc with docxtpl

        I started by creating an API on my already functioning flask app, so everything can be done through Airtable page. But I was worried about opening an API to the world, so I decided to make a local python app that I’ll probably compile to .exe

        And yes, I can open source, but it’s really tailored to me needs