Bug 168736 - FILESAVE PPTX - PPT presentation with link to next slide can't be opened in PowerPoint after saving
Summary: FILESAVE PPTX - PPT presentation with link to next slide can't be opened in P...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: filters and storage (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: implementationError
Depends on:
Blocks: PPTX-Corrupted PPTX-Hyperlink
  Show dependency treegraph
 
Reported: 2025-10-08 03:58 UTC by Aron Budea
Modified: 2025-10-10 03:49 UTC (History)
0 users

See Also:
Crash report or crash signature:


Attachments
Original - forum-mso-de-10080.ppt (16.50 KB, application/vnd.ms-powerpoint)
2025-10-08 03:58 UTC, Aron Budea
Details
Original saved as PPTX in PowerPoint for reference (35.59 KB, application/vnd.openxmlformats-officedocument.presentationml.presentation)
2025-10-08 03:59 UTC, Aron Budea
Details
Similar PPTX created in PowerPoint from scratch (30.85 KB, application/vnd.openxmlformats-officedocument.presentationml.presentation)
2025-10-08 03:59 UTC, Aron Budea
Details
Other PPTX saved as PPT in PowerPoint (87.00 KB, application/vnd.ms-powerpoint)
2025-10-08 04:04 UTC, Aron Budea
Details
forum-mso-en-365.ppt (118.00 KB, application/vnd.ms-powerpoint)
2025-10-08 05:42 UTC, Aron Budea
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aron Budea 2025-10-08 03:58:24 UTC
Created attachment 203188 [details]
Original - forum-mso-de-10080.ppt

Open the attached presentation, forum-mso-de-10080.ppt, and save it as PPTX, then open the result in PowerPoint.

=> PowerPoint encounters a problem, and removes part of the content.

When running the file through OOXML Validator, this is the result:
[{"Description":"Relationship tag requires attribute 'Target'. Line 2, position 86.","Path":null,"Id":null,"ErrorType":"OpenXmlPackageException"}]
(officeotron found no issue with the file)

If one:
- unzips the saved PPTX,
- executes the following command (can be done in Linux/Cygwin, needs xmllint installed): find . \( -name "*.xml" -o -name "*.rels" \) -type f -exec xmllint --output '{}' --format '{}' \;

...they can see that in ppt/slides/_rels/slide1.xml.rels (and others), there's the following relationship, with the empty target PP complained about:
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" Target=""/>

Checking slide1.xml a level up, the corresponding element is: <a:hlinkClick r:id="rId1" action="ppaction://hlinksldjump"/>

Saving the PPT as PPTX in PowerPoint, and similarly looking at the XML shows this instead: <a:hlinkClick r:id="" action="ppaction://hlinkshowjump?jump=nextslide"/>

With the following manual changes to the buggy file, PowerPoint can open it:
- remove Relationships with empty Target (slide1, slide3),
- replace 'r:id="rId1"' references in <a:hlinkClick ...> with 'r:id=""',
- in case of jumping to next slide, replace 'action="ppaction://hlinksldjump"' with 'action="ppaction://hlinkshowjump?jump=nextslide"'

Note that jumping to relative slides isn't supported in Impress, only to specific slides, it would be nice to add that, but not necessary for this bug.
PowerPoint offers the following options: First Slide, Last Slide, Next Slide, Previous Slide
The corresponding jump suffixes: firstslide, lastslide, nextslide, previousslide

Saving a PPTX with similar jump actions produces correct results.

Observed with LO 26.2.0.0.alpha0+ (8ea8e254a3151f5390f3a10ff156fcaf8e7c5d5c) / Windows.
In old versions, eg. 4.0.0.3 the link sipmly gets lost on export.
Comment 1 Aron Budea 2025-10-08 03:59:04 UTC
Created attachment 203189 [details]
Original saved as PPTX in PowerPoint for reference
Comment 2 Aron Budea 2025-10-08 03:59:52 UTC
Created attachment 203190 [details]
Similar PPTX created in PowerPoint from scratch
Comment 3 Aron Budea 2025-10-08 04:04:16 UTC
Created attachment 203191 [details]
Other PPTX saved as PPT in PowerPoint

This PPT was saved in PowerPoint from the PPTX example created from scratch. The hyperlinks get lost on load in Impress, which is even worse. Not part of this bug report, though.
Comment 4 Aron Budea 2025-10-08 05:05:30 UTC
(In reply to Aron Budea from comment #0)
> Note that jumping to relative slides isn't supported in Impress, only to
> specific slides, it would be nice to add that, but not necessary for this
> bug.
What I'm reffering to is in Insert Hyperlink, under Document, Target in Document and button Target in Document.

> Saving a PPTX with similar jump actions produces correct results.
This fix could've been relevant: bug 141704.
Comment 5 Aron Budea 2025-10-08 05:42:38 UTC
Created attachment 203193 [details]
forum-mso-en-365.ppt

Here's another sample that suffers from the same issue when converted. This started with the following commit in 7.3, but before that the interactions weren't exported at all:

https://git.libreoffice.org/core/commit/73f26b73aaf562bf934249460480b4a60937a438
author		Tibor Nagy <nagy.tibor2@nisz.hu>	Mon Sep 27 16:48:14 2021 +0200
committer	László Németh <nemeth@numbertext.org>	Wed Oct 13 16:40:05 2021 +0200

tdf#124232 PPTX export: fix interactions and hyperlinks on images
Comment 6 Aron Budea 2025-10-10 02:23:00 UTC
Another commit with relevant code:
https://git.libreoffice.org/core/commit/4bfe8304a5600e236043e4ad7c6dc75fd05c937b
author		Tibor Nagy <nagy.tibor2@nisz.hu>	Mon Oct 18 14:51:05 2021 +0200
committer	László Németh <nemeth@numbertext.org>	Wed Nov 03 15:01:31 2021 +0100

tdf#144914 PPTX export: fix interactions and hyperlinks on shapes