Skip to content

Dev3 expand pptx animation keep updated - #261

Open
hiroshisuga wants to merge 16 commits into
v3.0.x-releasefrom
dev3_expandPptxAnimation
Open

Dev3 expand pptx animation keep updated#261
hiroshisuga wants to merge 16 commits into
v3.0.x-releasefrom
dev3_expandPptxAnimation

Conversation

@hiroshisuga

@hiroshisuga hiroshisuga commented Jul 14, 2026

Copy link
Copy Markdown
Owner

What does this PR do?

Expand the pptx animations into multiple slides, before the conversion to PDF.

Closes Issue(s)

Closes bigbluebutton#9734, bigbluebutton#11050, bigbluebutton#2489, etc

Motivation

Currently BBB (actually Libreoffice) does not support animation and effects on slide transition. The animation of objects, such as object-level entrance/exit animation and text box with bullet-items, is often important for engaging students for learning. Flattening them sometimes leads to a pointless presentation and difficult to explain.
I try to support them at the pptx conversion implemented in BBB. All fancy animation effects and slide transition animation are not supported (they are not essential for education and sometimes hated by the audience).

More

For local installation, you need to manually copy expand_pptx_animations.py and convert-local.sh under bbb-libreoffice/asset into the /usr/share/bbb-libreoffice-conversion/ directory (not sure if it's the best location).
sudo apt install python3-lxml may be necessary.
Note that expand_pptx_animations.py script was almost completely written by AI.
Currently only simple appearing/disappearing objects and text bullets are supported. All complex effects will be removed.
Downloadable presentation file (pptx) still remains to be the file before expansion. but the PDF is expanded.
Posted as the PR bigbluebutton#25422.

install the python script without excute permission
Text emergence animation was not properly processed before this fix.

PowerPoint stores “With Previous” and “After Previous” animations as separate timing nodes, even though they do not require an additional click. The previous implementation treated these nodes as separate click groups, which caused extra intermediate slides to be generated.

This change associates withEffect and afterEffect actions with the most recent clickEffect group. As a result, all animations triggered by the same click are expanded into a single static slide state.
@github-actions

Copy link
Copy Markdown

🚨 Automated tests failed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant