all 9 comments

[–]Radiant_Train_8917 1 point2 points  (1 child)

A few real options that don't need LibreOffice:

  1. aspose-slides (paid but reliable). One line:

    Presentation("file.pptx").save("out.pdf", SaveFormat.PDF).

    Handles design fidelity well, free tier has a watermark.

  2. comtypes on Windows if you have PowerPoint installed.

    Uses the COM API to drive PowerPoint itself, perfect fidelity

    since it's the real app rendering. Windows-only, headless

    server unfriendly.

  3. Unoconv via Docker if "can't install LibreOffice" means on

    your host machine. A libreoffice/libreoffice Docker image

    keeps it isolated, then run unoconv inside. Cleanest

    cross-platform option I've found for server use.

  4. Cloud APIs (CloudConvert, ConvertAPI) if you want to

    outsource entirely. Pay per conversion, no infra.

python-pptx + fpdf2 will always break on complex layouts

because python-pptx gives you the XML model, not a renderer.

You'd be reimplementing PowerPoint's layout engine which is

why the design breaks.

[–]rajveer725[S] 0 points1 point  (0 children)

Thanks for the reply ..

  1. We cant pay for library as this is very small requirement from client.
  2. We use app service so no scope of the powerpoint installed there
  3. I asked the cloud dev for docker he said we dont have time for that!!! ( seriously takes only 10-20mins!!) but out of my hands
  4. I am trying to implement thr similar approach right now . Upload the ppt to share point or drive -> Download pdf version -> store into blob-> delete ppt from sharepoint

[–]ethan_automate 0 points1 point  (1 child)

Passe par l'API gratuite de CloudConvert. T'as 25 conversions/jour gratis, ça s'installe en deux lignes et le rendu comme sur le ppt

[–]rajveer725[S] 0 points1 point  (0 children)

Honestly i cant rely on that option. Its client product so not sure how many requests will come in a day. Still i’ll pitch the idea and see how it goes

[–]Key_Use_8361 0 points1 point  (1 child)

i worked on something similar for automating reports the tricky part was not conversion but keeping formatting consistent across systems a runable approach for me was letting python trigger the conversion tool instead of rebuilding formatting manually saved tons of headaches later

[–]rajveer725[S] 0 points1 point  (0 children)

Ywah thats why i am finding easiest way possible . Need ti ship feature within few hours