我正在尝试解压缩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
答案 0 :(得分:1)
尝试使用7zip重新拉链。确保不包含任何其他目录。在slide1.xml中编辑Textcontent后,我能够重新压缩解压缩的PPTX文件
答案 1 :(得分:0)
此答案适用于Mac OS。
我能用Mac上的Finder做到这一点。诀窍是选择文件夹的内容而不是文件夹本身。因此,如果您的解压缩演示文稿mypres
包含文件夹_rels
,docProps
等,
mypres
文件夹。 Archive.zip
更改为mypres.pptx
。希望这有帮助!