pandoc icon indicating copy to clipboard operation
pandoc copied to clipboard

Pandoc produces corrupted pptx once reference doc has been synced with a Teams-connected site

Open hanshillen opened this issue 2 years ago • 3 comments

Explain the problem.

Once a presentation's reference doc (specifically, a Powerpoint file or template) has been synced with a Teams-connected site, pandoc will generate a corrupted pptx file. When opening the generated file, Powerpoint will show the error message below (similar to the message described in #9113):

PowerPoint found a problem with content in preso.pptx. PowerPoint can attempt to repair the presentation.

If you trust the source of this presentation, click Repair.

This happens regardless of whether the template is downloaded from the Sharepoint site first, or referenced directly in the file system through a OneDrive folder. Moving or copying the 'tainted' templated file out of Sharepoint does not fix the problem. The issue does not occur in other Sharepoint or OneDrive folders that are not connected to Teams.

For comparison, I've attached files that show the difference before and after a template was synced in a Teams folder:

I realize this is probably an MS specific issue, but the problem doesn't occur for regular Powerpoint file creation so it's not likely to be fixed. I created this issue in the hope Pandoc can somehow work around the change made to the template by the Teams sync. At the very least, it can act as a record for others running into the same problem.

Pandoc version? 3.1.11.1, MacOS Sonoma

hanshillen avatar Feb 06 '24 21:02 hanshillen

Here are the differences (uncorrupted a, corrupted b):

=== [Content_Types].xml ===
--- a/[Content_Types].xml	2024-02-06 20:43:24.000000000 -0800
+++ b/[Content_Types].xml	2024-02-06 20:43:25.000000000 -0800
@@ -7,6 +7,10 @@
   <Default Extension="xml" ContentType="application/xml" />
   <Override PartName="/ppt/presentation.xml"
   ContentType="application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" />
+  <Override PartName="/customXml/itemProps1.xml"
+  ContentType="application/vnd.openxmlformats-officedocument.customXmlProperties+xml" />
+  <Override PartName="/customXml/itemProps2.xml"
+  ContentType="application/vnd.openxmlformats-officedocument.customXmlProperties+xml" />
   <Override PartName="/ppt/slideMasters/slideMaster1.xml"
   ContentType="application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" />
   <Override PartName="/ppt/slides/slide1.xml"

=== docProps/core.xml ===
--- a/docProps/core.xml	2024-02-06 20:43:24.000000000 -0800
+++ b/docProps/core.xml	2024-02-06 20:43:25.000000000 -0800
@@ -9,7 +9,7 @@
   <cp:lastModifiedBy>Hans Hillen</cp:lastModifiedBy>
   <cp:revision>1</cp:revision>
   <dcterms:created xsi:type="dcterms:W3CDTF">
-  2024-02-06T20:50:58Z</dcterms:created>
+  2024-02-06T20:52:02Z</dcterms:created>
   <dcterms:modified xsi:type="dcterms:W3CDTF">
-  2024-02-06T20:51:13Z</dcterms:modified>
+  2024-02-06T20:52:21Z</dcterms:modified>
 </cp:coreProperties>

=== customXml/item1.xml ===
diff: a/customXml/item1.xml: No such file or directory

=== customXml/item2.xml ===
diff: a/customXml/item2.xml: No such file or directory

=== customXml/_rels/item2.xml.rels ===
diff: a/customXml/_rels/item2.xml.rels: No such file or directory

=== customXml/_rels/item1.xml.rels ===
diff: a/customXml/_rels/item1.xml.rels: No such file or directory

=== customXml/itemProps2.xml ===
diff: a/customXml/itemProps2.xml: No such file or directory

=== customXml/itemProps1.xml ===
diff: a/customXml/itemProps1.xml: No such file or directory

=== ppt/presentation.xml ===
--- a/ppt/presentation.xml	2024-02-06 20:43:24.000000000 -0800
+++ b/ppt/presentation.xml	2024-02-06 20:43:25.000000000 -0800
@@ -4,10 +4,10 @@
 xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"
 saveSubsetFonts="1" autoCompressPictures="0">
   <p:sldMasterIdLst>
-    <p:sldMasterId id="2147483648" r:id="rId1" />
+    <p:sldMasterId id="2147483648" r:id="rId3" />
   </p:sldMasterIdLst>
   <p:sldIdLst>
-    <p:sldId id="256" r:id="rId2" />
+    <p:sldId id="256" r:id="rId4" />
   </p:sldIdLst>
   <p:sldSz cx="12192000" cy="6858000" />
   <p:notesSz cx="6858000" cy="9144000" />

=== ppt/_rels/presentation.xml.rels ===
--- a/ppt/_rels/presentation.xml.rels	2024-02-06 20:43:25.000000000 -0800
+++ b/ppt/_rels/presentation.xml.rels	2024-02-06 20:43:25.000000000 -0800
@@ -1,22 +1,28 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
 
+  <Relationship Id="rId8"
+  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/tableStyles"
+  Target="tableStyles.xml" />
   <Relationship Id="rId3"
-  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/presProps"
-  Target="presProps.xml" />
-  <Relationship Id="rId2"
-  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide"
-  Target="slides/slide1.xml" />
-  <Relationship Id="rId1"
   Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster"
   Target="slideMasters/slideMaster1.xml" />
-  <Relationship Id="rId6"
-  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/tableStyles"
-  Target="tableStyles.xml" />
-  <Relationship Id="rId5"
+  <Relationship Id="rId7"
   Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"
   Target="theme/theme1.xml" />
-  <Relationship Id="rId4"
+  <Relationship Id="rId2"
+  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml"
+  Target="../customXml/item2.xml" />
+  <Relationship Id="rId1"
+  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml"
+  Target="../customXml/item1.xml" />
+  <Relationship Id="rId6"
   Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/viewProps"
   Target="viewProps.xml" />
+  <Relationship Id="rId5"
+  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/presProps"
+  Target="presProps.xml" />
+  <Relationship Id="rId4"
+  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide"
+  Target="slides/slide1.xml" />
 </Relationships>

jgm avatar Feb 07 '24 04:02 jgm

Here's a diff of uncorrupted.pptx and corrupted-after-teams.pptx:

--- a/docProps/core.xml	2024-02-13 22:21:20.000000000 -0800
+++ b/docProps/core.xml	2024-02-13 22:21:21.000000000 -0800
@@ -8,7 +8,7 @@
   <dc:creator>test</dc:creator>
   <cp:keywords></cp:keywords>
   <dcterms:created xsi:type="dcterms:W3CDTF">
-  2024-02-06T20:51:40Z</dcterms:created>
+  2024-02-06T20:53:06Z</dcterms:created>
   <dcterms:modified xsi:type="dcterms:W3CDTF">
-  2024-02-06T20:51:40Z</dcterms:modified>
+  2024-02-06T20:53:06Z</dcterms:modified>
 </cp:coreProperties>

--- a/ppt/presentation.xml	2024-02-13 22:21:21.000000000 -0800
+++ b/ppt/presentation.xml	2024-02-13 22:21:21.000000000 -0800
@@ -5,11 +5,11 @@
 xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
 
   <p:sldMasterIdLst>
-    <p:sldMasterId id="2147483648" r:id="rId1" />
+    <p:sldMasterId id="2147483648" r:id="rId3" />
   </p:sldMasterIdLst>
   <p:sldIdLst>
-    <p:sldId id="256" r:id="rId2" />
-    <p:sldId id="257" r:id="rId3" />
+    <p:sldId id="256" r:id="rId4" />
+    <p:sldId id="257" r:id="rId5" />
   </p:sldIdLst>
   <p:sldSz cx="12192000" cy="6858000" />
   <p:notesSz cx="6858000" cy="9144000" />

--- a/ppt/_rels/presentation.xml.rels	2024-02-13 22:21:21.000000000 -0800
+++ b/ppt/_rels/presentation.xml.rels	2024-02-13 22:21:21.000000000 -0800
@@ -1,25 +1,31 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
 
-  <Relationship Id="rId2"
+  <Relationship Id="rId4"
   Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide"
   Target="slides/slide1.xml" />
-  <Relationship Id="rId3"
+  <Relationship Id="rId5"
   Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide"
   Target="slides/slide2.xml" />
-  <Relationship Id="rId4"
-  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/presProps"
-  Target="presProps.xml" />
-  <Relationship Id="rId1"
-  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster"
-  Target="slideMasters/slideMaster1.xml" />
-  <Relationship Id="rId7"
+  <Relationship Id="rId9"
   Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/tableStyles"
   Target="tableStyles.xml" />
-  <Relationship Id="rId6"
+  <Relationship Id="rId3"
+  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster"
+  Target="slideMasters/slideMaster1.xml" />
+  <Relationship Id="rId8"
   Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"
   Target="theme/theme1.xml" />
-  <Relationship Id="rId5"
+  <Relationship Id="rId2"
+  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml"
+  Target="../customXml/item2.xml" />
+  <Relationship Id="rId1"
+  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml"
+  Target="../customXml/item1.xml" />
+  <Relationship Id="rId7"
   Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/viewProps"
   Target="viewProps.xml" />
+  <Relationship Id="rId6"
+  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/presProps"
+  Target="presProps.xml" />
 </Relationships>

jgm avatar Feb 14 '24 06:02 jgm