以下过程出现错误:解压 .pptx 文件 -> 修改内容 -> 重新压缩成 .pptx 文件

5
我正在尝试解压缩Microsoft Office文件(.docx和.pptx),修改一些内容,然后重新压缩成新的.docx或.pptx文件。
我已经成功地使用.docx文件进行了操作:
1)$ unzip .../test.docx
2)修改document.xml文件中的一些内容
3)$ zip -r rezipped.docx *
使用上述过程,我可以成功地在Microsoft Word中打开新文档(rezipped.docx)并查看更改后的内容。
然后我尝试对.pptx执行相同的操作,但没有成功。
1)$ unzip .../test.pptx
2)修改slide1.xml文件中的一些内容 例如,一个简单的文本更改:Hello World更改为Hi World 3)$ zip -r rezipped.pptx *
当我尝试在Macintosh上打开rezipped.pptx时,在Microsoft PowerPoint 2008 for Mac Version 12.0中出现以下错误消息:
“访问Macintosh rezipped.pptx时发生错误”
但是,我可以在Keynote中毫无问题地打开该文件。
我尝试了相同的实验,但只修改了docProps文件夹中的一个文件(即app.xml或core.xml),并且我能够将其重新压缩并在Microsoft PowerPoint中毫无问题地打开它。因此,只有当我编辑ppt文件夹中的文件时才会遇到此问题。
当我编辑slide1.xml的内容然后重新压缩文件时,是什么导致了这种损坏?.pptx结构中还有其他跟踪内容/修改的文件吗?
我还尝试过在更改后重置文件的修改日期,以查看是否有任何影响,但没有:touch -m -t 198001010000 slide1.xml

您没有提到您对slide1.xml内容所做的编辑。如果您以一种使xml无效的方式进行更改,PowerPoint将合理地拒绝打开它。 - Steve Rindsberg
@SteveRindsberg,这并不会使xml无效。只是一个简单的文本更改,例如<a:t>Hello World</a:t>变成<a:t>Hi World</a:t> - diasks2
1
请尝试我在http://stackoverflow.com/a/23716478/1031689推荐的诊断。 - JasonPlutext
@JasonPlutext 感谢您的建议。然而,7-zip似乎是一个Windows实用程序,我目前没有使用Windows机器的权限。 - diasks2
@JasonPlutext 我使用另一个压缩工具成功地解决了问题,所以我猜测Mac命令行zip工具的处理出了问题,正如你所怀疑的那样。 - diasks2
1
回复JasonPlutext的问题后,我遇到了使用WinZIP解压/重新压缩PPTX文件时出现损坏的问题。如果我没记错的话,就是在将文件复制回ZIP存档时尝试创建备份文件。使用Mac内置的压缩工具也会出现同样的问题。或许使用StuffIt或其他类似工具可以更可靠地完成此操作。 - Steve Rindsberg
2个回答

5

本答案适用于Mac OS。

我能够在Mac上使用Finder完成此操作。诀窍是选择文件夹中的内容而不是文件夹本身。因此,如果您解压缩的演示文稿mypres具有文件夹_relsdocProps等,则:

  1. 打开mypres文件夹。
  2. 选择所有项目。(例如使用command + a
  3. 使用右键单击(command-单击)上下文菜单“压缩项目”。
  4. 将新文件的名称从Archive.zip更改为mypres.pptx

希望这可以帮助到您!


在Fedora 30/Gnome 3.32/Nautilus/File Roller中工作 - Ray Foss

3

尝试使用7zip重新压缩文件。确保不包括任何额外的目录。我编辑了slide1.xml中的文本内容后,成功地重新压缩了我的未压缩的PPTX文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接