triggerdotdev / trigger.dev

Trigger.dev is the open source background jobs platform.
https://trigger.dev/changelog
Apache License 2.0
9.07k stars 558 forks source link

Create a libreoffice build extension to allow docx/pptx to PDF conversion #1361

Open ericallam opened 1 month ago

ericallam commented 1 month ago

Papermark is using Trigger.dev v3 but they have to resort to calling out to a separate service (gotenberg.dev) they are running on fly.io to do docx/pptx to PDF conversion (you can see the code here).

It would be great if they could remove the gotenburg.dev call and do the conversion right there in their Trigger.dev task. For that, we will need a Build extension that adds the libreoffice system packages and anything else that is necessary for the conversion (fonts, etc.), and then this package could be used: libreoffice

The extension should try to be as lightweight as possible (e.g. don't install X11). Is it possible to run LibreOffice in "headless" mode?

Whoever creates this extension should make sure and test it inside a new references project in the repo, and run against a local version of trigger.dev. You can copy the hello-world reference project to get something running quickly.

amuwal commented 1 week ago

hi @ericallam , can i work on this. thanks

and, can i do this for installing libreoffice on the image?

apt-get install -y \
    libreoffice \
    --no-install-recommends

it's either that or:

apt-get install -y \
    libreoffice-writer \
    libreoffice-calc \
    libreoffice-impress \
    fonts-liberation \
    --no-install-recommends \

both of these work for pdf conversion but the latter might give out errors for some niche edge cases.

p.s. libreoffice can indeed run in headless mode like thils: libreoffice --headless --convert-to pdf filename.docx but the libreoffice-convert library is doing the same underhood. (reference)

thanks again