以下过程出错:unzip .pptx - >修改内容 - >重新压缩到.pptx

时间:2014-05-17 00:41:29

标签: xml powerpoint openxml

我正在尝试解压缩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档案中的一些内容 例如,一个简单的文本更改:<a:t>Hello World</a:t><a:t>Hi World</a:t>

3)$ zip -r rezipped.pptx *

当我尝试在Microsoft PowerPoint 2008 for Mac版本12.0中打开rezipped.pptx时,出现以下错误消息:

  

访问Macintosh rezipped.pptx

时出错

但是,我可以在Keynote中没有任何问题地打开文件。

我尝试了相同的实验,但我只修改了docProps文件夹中的文件(即app.xml或core.xml),我能够重新压缩它并在Microsoft PowerPoint中打开它没有任何问题。因此,只有当我编辑ppt文件夹中遇到此问题的文件时才会这样。

当我编辑slide1.xml的内容然后重新压缩文件时导致这种损坏的原因是什么? .pptx结构中是否存在跟踪内容/修改的其他文件?

我还尝试在更改后重置文件的修改日期以查看它是否有任何效果,但它没有:touch -m -t 198001010000 slide1.xml

2 个答案:

答案 0 :(得分:1)

尝试使用7zip重新拉链。确保不包含任何其他目录。在slide1.xml中编辑Textcontent后,我能够重新压缩解压缩的PPTX文件

答案 1 :(得分:0)

此答案适用于Mac OS。

我能用Mac上的Finder做到这一点。诀窍是选择文件夹的内容而不是文件夹本身。因此,如果您的解压缩演示文稿mypres包含文件夹_relsdocProps等,

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