Export editable animation-free ODP and harden PDF output - #62
Merged
Conversation
jeffwitz
marked this pull request as ready for review
June 16, 2026 21:21
jeffwitz
commented
Jun 16, 2026
jeffwitz
marked this pull request as draft
June 16, 2026 21:41
jeffwitz
marked this pull request as ready for review
June 18, 2026 13:49
Contributor
Author
|
Hi @monperrus, This PR is ready for review. I cleaned up the history into 3 focused commits and updated the PR description with the scope, GitHub is currently waiting for maintainer approval to run the workflow because the PR comes from a Thanks! |
Owner
|
Did a few adjustments. Thanks a lot for your contribution @jeffwitz |
Contributor
Author
|
You're welcome, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR makes the expanded presentation a first-class output instead of an internal temporary file.
The macro now writes two files next to the source deck:
presentation-expanded.odp: editable, with animation timelines removedpresentation.pdf: exported from the expanded deckThe source presentation is left untouched.
Main changes
*-expanded.odpin addition to the PDF.CommandLinemacro for headless use.Tests and fixtures
The test target now installs the extension into an isolated LibreOffice profile and exercises real ODP files:
test-ExpandAnimations.odpoutput still matches the reference PDF textBadVerticalAlign.odpcovers vertical alignment for paragraph animationslinks.odpcovers internal links, hidden slides, and manual re-export from the expanded ODPUnsupportedEmphasis.odpcovers mixed unsupported effects such as font color and transparencyCI also checks that:
Related issues
Fixes #15
Fixes #26
Fixes #50
Fixes #55
Fixes #59
Fixes #61
Addresses #16 by yielding during slide expansion, which reduces UI lockups on large decks.
Addresses #17 and #37 with CI packaging and stricter OXT validation.
Addresses #24 by printing LibreOffice and
unopkgversions in CI.Addresses #39 by enabling standard font embedding and checking generated PDFs with
pdffonts.Addresses #52 by saving the expanded ODP through
storeToUrl(..., Overwrite=True)instead ofdoc.store().Documents #57 as a PDF format limitation.
Adds regression coverage and warnings for #28 and #60, but does not implement full color/transparency animation expansion yet.
Validation
Run locally with LibreOffice 24.2.7.2 on Linux:
make clean make validate make test