*.doc a *.docx

En la nueva versión de Office 2007 se está manejando un nuevo formato para almacenar la información. Claro que esta noticia no es nueva, solo que no quería dejar pasar la oportunidad de mencionarlo ya que he tenido la oportunidad de adentrar y conocer las capacidades que este nuevo paradigma de almacenamiento ofrece para diversos escenarios que estoy seguro algunos programadores VBA o de Macros van a agradecer.


En la versión de Microsoft Office System 2003 y anteriores Microsoft ha manejado formatos de archivos binarios para almacenar el contenido de documentos, hojas de cálculo y presentaciones. Este modelo claro que tiene sus ventajas pero en esta nueva realidad de la estandarización y orientación a servicios encontramos que un formato binario para almacenar contenido no es precisamente la mejor opción para habilitar escenarios de intercambio o de interoperabilidad entre plataformas operativas y de por si, como vivimos en un mundo conectado cada vez menos dependiente de una plataforma operativa pues los proveedores de tecnología poco a poco se van alineando en la implementación de esta tendencia. Por esta razón, Microsoft a creado todo un nuevo esquema XML llamado “Open Office XML File Format” para representar y describir el contenido que los paquetes de la familia de Office 2007 genera y ya de pilón, proponerlo como estándar ante las debidas reguladoras internacionales para unificar la forma en que estructuramos, organizamos e intercambiamos documentos en nuestra industria. 


También es importante mencionar que ahora cambian las extensiones de archivos por *.docx, *.pptx, *.xlsx que los documentos de Word, Power Point o Excel 2007 generan.


formato07.jpg


No te alarmes porque si existe compatibilidad con:



  • Los archivos binarios actuales de Office 97-2003 se seguirán usando sin embargo existirá soporte para el nuevo formato XML descargando un addin.

Por un lado el usuario final tendrá la experiencia de utilizar un solo archivo de Word. Por otro lado un programador tendrá la experiencia de contar con un archivo modular que puede manipular a su antojo de manera manual o mejor aún, de manera programática.


Veamos un ejemplo:

formato01.jpg

En este sencillo documento llamado Nuevo Formato.docx encontraras que tenemos un texto normal con una imagen incrustada. Veamos como podemos renombrar el archivo docx a zip para husmear en su contenido.


Localiza tu archivo docx


formato02.jpg


Renombra tu archivo docx a .zip


formato03.jpg


Confirmas el cambio


formato04.jpg


Y listo, ya tienes tu archivo en formato zip.


formato05.jpg


Damos doble clic sobre el archivo Nuevo Formato.docx.zip y debido a que ahora es un paquete comprimido accederás a una estructura de carpetas y archivos que prácticamente representa la propuesta para estandarizar en XML el contenido de un documento Word 2007.


formato06.jpg


En la carpeta raíz encontraras el archivo [Content_Types].xml el cual contiene representado en XML los tipos de contenido que este archivo soporta dentro.  Normalmente en un archivo de Word contamos con imágenes, estilos, propiedades del documento, temas, tipos de fuentes etc y en este archivo se especifica en que carpeta de esta sencilla estructura se encuentran los diferentes los archivos específicos de cada tipo de contenido.
En la carpeta _rels contiene descrito en XML cualquier relación que exista entre las partes de un documento, por ejemplo, para cualquier documento de Word 2007 se requiere relacionar algunos archivos XML  que describen aspectos generales del mismo como por ejemplo sus propiedades, configuración, etc.


En la carpeta docProps contamos con dos archivos XML que describen aspectos de configuración y seguridad. (app.xml y core.xml) en donde en uno almacenamos las propiedades del documento en si como número de páginas, de caracteres, la plantilla utilizada, versión, etc. y en el otro archivo xml contamos con información relacionada con la fecha de creación, fecha de modificación,  palabras clave, etc.


En la carpeta Word ya encontramos todo la información del contenido de nuestro documento:


formato08.jpg


En el archivo Document.xml contamos prácticamente con un XML que contiene nuestro contenido, si, el mismo contenido en texto que tenemos en nuestro documento de tal manera que aquí es donde podemos manipularlo manualmente o utilizando un modelo de objetos especifico para hacerlo programáticamente. Por ejemplo, en nuestro documento original tenemos el texto:  Este es un ejemplo de un archivo de Word con su nuevo formato si vemos su representación XML encontramos lo siguiente:


formato09.jpg


Además en este XML se describe que nuestro documento cuenta con una imagen incrustada, esta imagen en su formato original se encuentra almacenada en la carpeta Media. SI manipulamos manualmente este archivo XML entonces nuestro documento se verá afectado con los cambios. Ya sea que lo hagamos programáticamente o manualmente este escenario nos ofrece resolver fácilmente el dolor de cabeza que muchos de nosotros hemos pasado cuando queremos remplazar contenido o campos dentro de un documento de Word. 


Ahora no nada más podemos fácilmente manipular el contenido de un documento sino también su estilo visual. Rápidamente hay que extraer el archivo document.xml y abrirlo con bloc de notas.



Agregamos nuestro archivo modificado de donde lo sacamos y remplazamos su contenido.


formato11.jpg


Renombramos de nuevo nuestro archivo a formato docx y el resultado final será lo siguiente:

formato12.jpg

39 thoughts on “*.doc a *.docx

  1. Solo para comentarte que los archivos extension “x” (docx, pptx, etc) siguen siendo binarios, comprimidos, empaquetados o cifrados o como quieras llamarlos con un estandar de la industria que se llama .ZIP  …

    Pero los archivos al final del dia, siguen siendo binarios.

  2. me parece muy interesante y muy importante esat explicacion ya que muchas personas como yo no conociamos la manera de modificar estos archivos y con esta explicacion que mas que claro, queda entendible.
    gracias.

  3. muchas gracias realmente no tengo mucha informacion sobre las nuevas tecnologias de office 2007 y demás pero hasta hoy necesite la conversion de 2007 a 2003 y pues muchas gracias por ese link

  4. Ha merecido la pena estar algo mas de una hora buscando por internet hasta encontrar esta explicacion y mejor aun ese elink, me salvo de tener que estar unas cuantas horas volviendo a hacer de nuevo unos trabajos.

    Muy buena la explicacion y gracias por compartirla.

    Saludos.

  5. Me pregunto que pasaria si solamente existiera un solo producto de cada idea que surge en el mundo. La pluralidad es un derecho natural y la competencia es algo en donde solamente los consumidores salen beneficiados ya que las organziaciones tienen que competir mejorando sus productos a beneficio de cliente.

    Si te parece que esto ya lo hacia Open Office excelente, que bien que ahora lo puede hacer Microsoft Office.

    Asi que el termino ladrones no es adecuado para describir algo que sucede en todas partes, SIMPLEMENTE MEJORAR…

    Saludos cordiales.

  6. excelente men

    me hiciste un parototote para una tarea que tengo que
    entregar urgntmnt y no tengo tiempo de bajar la compatibilidad

  7. oye no puedo abrir el archivo docx con word como lo abro, hice lo que me comentaste con la conversion a zip pero al regresarlo a docx me pide el programa para abrirlo la digo que word y nada.

  8. Exclente explicación!. Me parece que este nuevo formato es un hibrido entre el word y el lenguaje para internet. Es muy buena idea este nuevo formato.
    Bien por tu blog.

  9. Excelente explicación, a tod aquel que quiere cambiar de decx a doc sólo convierta y utiliza el XML exportandolo como página de ahí lo pegas como texto

  10. Hola!!Gracias ante todo y para todos que como tu dedicais vuestro tiempo a hacernos la informatica menos complicada(no es peloteo).Me han pasao un documento en docx.zip y cuando lo abro me salen las carpetas que explicas ahí arriba,me he bajao file_converter.Como puedo visualizarlo normal?GRACIAS OTRA VEZ

  11. Sabes de alguna actualizacion para el OPENOFFICE 2.2.1? o parche? por que el que propone novel me da error.GRACIAS!

  12. Que bueno que Microsoft entro (al menos en parte) al mundo del Open Source, solo para aclarar que estos formatos ya existían desde hace mucho tiempo y desde entonces son utilizados por programas de código abierto como el Open Office, tal como lo comentaron anteriormente.

    En otras palabras MS no ha inventado nada, solo ha optado por reorientar (por conveniencia comercial) su producto hacia tecnologías abiertas que ya existian desde hace muuuuucho tiempo atrás.

    En resumen: Nada nuevo con este producto.

  13. muchas gracias sirvio mucho!
    pero yo creo que si lo van a hacer primero hicieran una copia del documento para que luego no batallen para poder convertirlo otra vez a docx

  14. Hola, me pareció super util pero tengo un problemita. Cuando intento manipular el fichero document.xml me dice que ese fichero está dañado. No puedo hacer algo ahi?

    Gracias .. esetoy muy triste porque he perdido un archivo muy importante 🙁

Leave a Reply

Your email address will not be published. Required fields are marked *