如何将WordprocessingML文件夹压缩成可读的docx

Mic*_*ael 33 xml compression markdown docx

我一直在尝试编写一个简单的Markdown - > docx解析器/编写器,但我完全坚持最后一部分,这应该是最简单的:即将文件夹压缩为.docx,Word或任何其他.docx读取器,将认识.

我的解析器编写器实际上是无关紧要的:如果我只是解压缩任何旧的Word生成的*.docx,然后尝试使用通常的压缩实用程序重新压缩它,并给它文件结束docx,我就会遇到这个问题.我应该添加一些神秘的标题,还是需要一个特殊的OPC压缩实用程序,或者什么?

我不太想要一个能够做到这一点的工具,以便弄清楚应该是什么.它似乎独立于WordprocessingML规范.

不用说我对压缩一无所知.我可以通过Google找到的所有内容都与您可以在商业中使用的花哨实用程序有关,但我正在制作一个可执行的GPLd或其他东西,并且可以处理任何事情.

Eri*_*ite 47

手动压缩Open XML文档的最常见问题是,如果您压缩目录而不是内容,它将无法工作.换句话说,[content_types] .xml文件以及word,docProps和_rels目录需要驻留在zip文件的根级别.

  • 嗨,我是原始海报,但我丢失了这个SO账号,否则我会把它标记为'正确答案'.你是对的,我的错误是压缩包含所有材料的目录,认为我需要正确的咒语,压缩形式......一些微妙.MSWord非常愿意打开文件,如果我将所有相关文件(包括像`word`这样的子目录的批量添加本身在根级别上)累积到一个zip文件中.到目前为止,我已经在OS X上尝试了这一点而没有发生 我会更多地学习. (4认同)

Sam*_*num 15

以下是解压缩my.docx和重新压缩的步骤:

% mkdir unzipped
% cd unzipped/
% unzip ../my.docx    
% zip -r ../rezipped.docx *
% open ../rezipped.docx 
Run Code Online (Sandbox Code Playgroud)


Mic*_*ica 3

使用的压缩算法是“Zip”(Base 64)压缩。

7zip 似乎提供了这个,虽然我没有测试过。