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
I am working on something similar and also planning on LaTex because it will be so easy to do find and replace because it's plain text (just adding placeholders like ##NAME## or whatever), but I'm only planning on outputting PDFs, which would be easy enough. I don't think there's many viable solutions to go LaTex to docx if that's a big requirement for you
One way to do it is have a small Python (or any other scripting language really) script that performs text replacements in the Latex source file. This is much easier in Latex because it's plain text. I don't know of a solution that doesn't involve writing your own code (apart from LO/Word serial letters).
I've been using ReportLabs to make pdfs in Python. It took some getting used to but I can put together just about anything I can imagine. I still get a little lost when I need to dig into the source code and how it generates pdfs from templates though.
I am searching for a similiar Software. Ideal would be a low code database platform selfhostet with easy document generation. I am still searching but you can take a look at https://rei3.de/en/home.
Low code and database works good. The document generation is a bit hacky but you can fill placeholders oft a HTML side.
But they hinted that they will have to work in this because the library they used is no longer supportet. So I hope it will geht easier.
Plus side it comes with user management and some "apps" out oft the box and all oft the "apps" are interoperable. Self created apps are Versionen out oft the box and you have to sign them with a generated developer key which is also very nice.
Ive got some stuff that i think is similar to what you are trying where i have an excel file template and use python to read from the database and populate cells in excel and then save a pdf.
There are a couple different options for python libraries - openpyxl, xlwings, or pywin32.
It is annoying and goofy, but works. Excel can be very flexible with getting everything sized just right for what your final output/pdf should look like.
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?
I didn't know about Documint. Looks interesting, will check it out, thanks 👍
I am using appsmith for the app, with a pgsql db. Then n8n to query pgsql with its JSON functions and finally sending it to apitemplate.io to generate a PDF from the JSON and a template. The PDF then goes into nextcloud. With apitemplate you get 50 executions a month for free, which is enough for my use case.
Hope this helps.
(The use case is an equipment maintenance tool for the SCBAs of our fire brigade, where I need reporting for proving that maintenance was carried out)
I’ve generated HTML before and then used an HTML to PDF converter as a second step. If you were already familiar with building building webpages, this might be a good option.
As part of a much larger project that was all-in on Java to begin with, I've used Tomcat to serve pages and PDFs/office doc formats rendered based on a postgres backend and FreeMarker templates.
For these purposes, you don't want that level of complexity (or Java) but the general premise and template libs should be available in nearly any sane web programming language.
I'm very confused about what your requirements are based on reading your post and some of your responses to comments, but I'm going to suggest that you look into Quarto
You can link excel cells to fields in a word document... can probably use vba to systematically iterate through a list of data to populate your linked cells to generate your documents.