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

dia*_*ks2 5 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

sco*_*ald 5

此答案适用于 Mac 操作系统。

我可以使用 Mac 上的 Finder 来完成此操作。诀窍是选择文件夹的内容而不是文件夹本身。因此,如果您解压缩的演示文稿mypres包含文件夹_relsdocProps等,

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

希望这可以帮助!


hmr*_*c87 3

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