ODP
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
OpenDocument Presentation Preview.
At a glance
| Original creator | OASIS |
| First published | 2005 |
| Purpose | The OpenDocument presentation format: a sequence of slides holding drawing shapes, text and speaker notes, as XML in a ZIP package. |
| Extensions | .odp |
| Poka parser | poka-odp |
| Viewer | poka-text-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B3 Core (see Breadth tiers) |
How much Poka reads
B3 Core. Only the main content type or types are decoded (for example geometry but not materials, layers or annotations, or only one version family). The list of gaps is substantial.
Confidence: high (the reviewer read the code and a test that proves the claim). Basis: Reviewed 2026-10-16: parsers/poka-odp/src/lib.rs (draw:page walk with shape kind, placeholder class, text, master, layout and presentation:notes), unit tests, and tests/samples.rs over the corpus (3 .odp, 2 .otp, 3 .odg; testODP_NPE.odp is a 37-slide deck with text asserted, the others are mostly empty skeletons). Covers ODF presentations and templates (and drawings, which share the reader). Output is a text outline (TextAst).
What Poka does not read
- Slide geometry and shape positions or sizes
- Pictures, charts, OLE objects and media
- Shape styling, fills, lines and text formatting
- Master page content (footers, backgrounds); only the master name is shown
- Table structure (cell text only)
- Transitions, animations and hidden-slide flag
- Slide comments
- Speaker notes with text and drawings with text are covered only by unit tests, not corpus files
- Encrypted packages
Background
Part of ODF from version 1.0 (OASIS, May 2005). The Library of Congress notes that ODF 1.2 added tables in presentations. Presentations and drawings share one model, pages of draw shapes, so Poka reads both: for each page its name, master and layout, the shapes with their placeholder roles and text, and the speaker notes kept apart from the slide. The file-information panel adds the title and author from meta.xml and the number of slides, counted from the pages read: Impress stores an object count, not a slide count, so the number is not taken from the file.
Versions
| Version | Identifier | Poka | Note |
|---|---|---|---|
| ODF presentation | application/vnd.oasis.opendocument.presentation |
Read |
Derived and related formats
- OpenDocument drawing and presentation template (
.odg, .otp): Routed to poka-odp in parsers/aliases.toml. The module also reads the drawing template (.otg), but no route sends that extension to it.
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- quick-xml (used; MIT; Rust)
- zip (used; MIT; Rust)
- odfdo (candidate; Apache-2.0; Python; https://github.com/jdum/odfdo) — README lists .odp among supported types, with less advanced presentation features; depends on lxml.
- ODFDOM (ODF Toolkit) (candidate; Apache-2.0; Java; https://github.com/tdf/odftoolkit) — General ODF access framework; the repo page does not mention presentations or .odp explicitly.