Skip to content

Image PPTX export opens with repair warning and omits speaker notes #225

@whjstc

Description

@whjstc

Problem

The current Export as image PPTX output opens in Microsoft PowerPoint with a repair warning. Speaker notes from export const notes = [...] are also not included in the generated PPTX.

PowerPoint warning observed on macOS:

PowerPoint found a problem with content in ai-office-practice.pptx. PowerPoint can attempt to repair the presentation.

Observed behavior

  • Export a deck using the UI action Export as image PPTX.
  • Open the downloaded .pptx in PowerPoint.
  • PowerPoint asks to repair the file.
  • After opening/repairing, speaker notes are missing.

Expected behavior

  • The exported image PPTX should open without repair.
  • Speaker notes should be exported as PowerPoint notes, preserving the index-aligned slide.notes content.

Likely causes

src/app/lib/export-pptx.ts hand-writes OOXML. The generated package currently:

  • renders slides as full-page PNGs, but does not create ppt/notesSlides/* or ppt/notesMasters/*;
  • does not add notes relationships from each ppt/slides/_rels/slideN.xml.rels;
  • does not include notes content type overrides;
  • is missing standard package parts that PowerPoint adds during repair, such as docProps/*, ppt/viewProps.xml, and ppt/tableStyles.xml.

Local validation

A local patch that passes slide.notes into the image PPTX builder and emits notesMaster, per-slide notesSlide, notes relationships, content type overrides, docProps, viewProps, and tableStyles produced a PPTX with:

  • valid ZIP structure (ZipFile.testzip() == None);
  • XML parse success for all .xml files;
  • one ppt/notesSlides/notesSlideN.xml per slide;
  • each slide relationship file containing a notesSlide relationship;
  • expected note text present in notesSlideN.xml.

Environment

  • @open-slide/core: 1.10.0
  • PowerPoint for macOS

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions