tamaño reducir pesados online gratis documentos comprimir carpeta archivos archivo xml compression markdown docx

xml - reducir - comprimir rar



Cómo comprimir una carpeta de WordprocessingML en docx legible (4)

He estado tratando de escribir un Markdown simple -> docx parser / writer, pero estoy completamente atascado con la última parte, que debería ser la más fácil: es decir, comprimir la carpeta en un .docx que Word, o cualquier otro lector .docx, reconocer.

Mi analizador-analizador es realmente irrelevante: tengo este problema si simplemente descomprimo cualquier * .docx producido originalmente en Word y luego trato de volver a comprimirlo con las utilidades de compresión usuales, dándole el archivo-final docx. ¿Hay algún encabezado misterioso que debería agregar, o necesito una utilidad especial de compresión OPC, o qué?

No quiero tanto una herramienta que haga esto, para descubrir qué se supone que debe estar allí. Parece ser independiente de la especificación WordprocessingML.

No hace falta decir que no sé nada sobre la compresión. Todo lo que puedo encontrar a través de Google tiene que ver con utilidades sofisticadas que puede usar en los negocios, pero estoy creando un pequeño ejecutable que sería GPLd o algo así, y debería trabajar en cualquier cosa.


Además de lo que dijo Mica, los contenidos del archivo ZIP están organizados de acuerdo con la Convención de Empaquetado Abierto; cf. Microsoft Essentials of the Open Packaging Convention .

Puede usar .NET System.IO.Packaging para crear y manipular archivos .docx; esta clase se implementa en el proyecto Mono.


Aquí hay pasos para descomprimir my.docx y volver a comprimir:

% mkdir unzipped % cd unzipped/ % unzip ../my.docx % zip -r ../rezipped.docx * % open ../rezipped.docx


El algoritmo de compresión utilizado es la compresión "Zip" (Base 64).

7zip parece ofrecer esto, aunque no lo he probado.


El problema más común al comprimir manualmente los documentos Open XML es que no funcionará si comprime el directorio en lugar de los contenidos. En otras palabras, el archivo [content_types] .xml y los directorios word, docProps y _rels deben residir en el nivel raíz del archivo zip.