feat(export): ODP (OpenDocument Presentation) als deck-exportformaat (afbeelding-per-slide) #1769

Closed
opened 2026-08-24 10:28:50 +00:00 by brenno · 0 comments
Owner

Voorstel

Voeg ODP (OpenDocument Presentation, ISO 26300) toe als deck-exportformaat, naast PDF, PPTX, LaTeX (Beamer) en HTML.

Waarom

ODP is de open tegenhanger van PPTX. LibreOffice en OpenOffice gebruiken het native; het is ISO 26300. Wie een open bestandsformaat wil in plaats van Microsoft's propriëtaire PPTX, heeft nu geen keuze op de deck-kant.

Aanpak

Dezelfde benadering als PPTX: een gerenderde afbeelding per slide, niet een poging de opmaak na te bootsen.

Het uitgangspunt is dat we de OciDeck-specifieke opmaak (de renderer die de slides tekent) niet gaan proberen te vertalen naar ODP's eigen shape/lay-out-model. Dat is hetzelfde als hoe PPTX werkt: elke slide wordt door de app gerenderd en als afbeelding in het bestand geplaatst. De ontvanger krijgt een presentatie die er exact zo uitziet als in de app, maar niet de individuele tekstvakken kan bewerken.

Dit is een bewuste keuze, niet een beperking:

  • De opmaak die OciDeck tekent (voettekst, paginanummers, TLP-plaatje, watermerk, de specifieke slidetype-layouts) is niet 1-op-1 te vertalen naar ODP-shapes zonder een tweede renderer te bouwen die ODP's model spreekt.
  • Een afbeelding-per-slide is wat de ontvanger wil: het beeld klopt, op elk platform, in elke viewer.
  • Wie de inhoud wil bewerken, exporteert naar Markdown of LaTeX — die zijn bewerkbaar.

Technisch

  • ODP is een ZIP met XML erin (content.xml, styles.xml, META-INF/manifest.xml). De archive-package die al een directe dependency is dekt de ZIP-kant.
  • Per slide: render naar afbeelding (zelfde pad als PPTX), plaats als <draw:frame> met een <draw:image> erin in content.xml.
  • Volgt hetzelfde patroon als PPTX: headless service, case in de deck-export-switch, optie in de export-dialoog, l10n, tests.

Bewaker-toets (vooraf)

  • Open standaard (ISO 26300) — geen lock-in.
  • Exportdoel, niet een opslagformaat. Het .md blijft soeverein.
  • Geen nieuwe afhankelijkheid (archive was al een directe dependency).
  • Verhoogt uitwisselbaarheid: een open alternatief voor PPTX.
  • Afbeelding-per-slide is bewerkbaar in de zin dat de ontvanger de presentatie kan tonen en herdraaien, maar niet de tekst kan aanpassen — dat is hetzelfde als PPTX en is een bewuste keuze (zie hierboven).

Geen botsing met de kernwaarden te voorzien.

Scope

Deck-export (presentaties), niet de document-kant. De document-kant heeft ODT als apart issue.

## Voorstel Voeg **ODP (OpenDocument Presentation, ISO 26300)** toe als deck-exportformaat, naast PDF, PPTX, LaTeX (Beamer) en HTML. ## Waarom ODP is de open tegenhanger van PPTX. LibreOffice en OpenOffice gebruiken het native; het is ISO 26300. Wie een open bestandsformaat wil in plaats van Microsoft's propriëtaire PPTX, heeft nu geen keuze op de deck-kant. ## Aanpak **Dezelfde benadering als PPTX: een gerenderde afbeelding per slide, niet een poging de opmaak na te bootsen.** Het uitgangspunt is dat we de OciDeck-specifieke opmaak (de renderer die de slides tekent) niet gaan proberen te vertalen naar ODP's eigen shape/lay-out-model. Dat is hetzelfde als hoe PPTX werkt: elke slide wordt door de app gerenderd en als afbeelding in het bestand geplaatst. De ontvanger krijgt een presentatie die er exact zo uitziet als in de app, maar niet de individuele tekstvakken kan bewerken. Dit is een bewuste keuze, niet een beperking: - De opmaak die OciDeck tekent (voettekst, paginanummers, TLP-plaatje, watermerk, de specifieke slidetype-layouts) is niet 1-op-1 te vertalen naar ODP-shapes zonder een tweede renderer te bouwen die ODP's model spreekt. - Een afbeelding-per-slide is wat de ontvanger wil: het beeld klopt, op elk platform, in elke viewer. - Wie de inhoud wil bewerken, exporteert naar Markdown of LaTeX — die zijn bewerkbaar. ## Technisch - ODP is een ZIP met XML erin (`content.xml`, `styles.xml`, `META-INF/manifest.xml`). De `archive`-package die al een directe dependency is dekt de ZIP-kant. - Per slide: render naar afbeelding (zelfde pad als PPTX), plaats als `<draw:frame>` met een `<draw:image>` erin in `content.xml`. - Volgt hetzelfde patroon als PPTX: headless service, case in de deck-export-switch, optie in de export-dialoog, l10n, tests. ## Bewaker-toets (vooraf) - Open standaard (ISO 26300) — geen lock-in. - Exportdoel, niet een opslagformaat. Het `.md` blijft soeverein. - Geen nieuwe afhankelijkheid (`archive` was al een directe dependency). - Verhoogt uitwisselbaarheid: een open alternatief voor PPTX. - Afbeelding-per-slide is bewerkbaar in de zin dat de ontvanger de presentatie kan tonen en herdraaien, maar niet de tekst kan aanpassen — dat is hetzelfde als PPTX en is een bewuste keuze (zie hierboven). Geen botsing met de kernwaarden te voorzien. ## Scope Deck-export (presentaties), niet de document-kant. De document-kant heeft ODT als apart issue.
brenno 2026-08-24 12:22:30 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#1769
No description provided.