miércoles, 12 de noviembre de 2014

¿Cómo son realmente los archivos de OpenOffce?

Tras deleitaros ayer con mi experiencia de usabilidad de OpenOffice frente a Office hoy os traigo un artículo que tenía ya bastantes ganas de publicar sobre cómo son, a nivel un poco más bajo de lo habitual, los archivos de openoffice. Esto tiene mucho que ver con las entradas que publiqué anteriormetne sobre archivos comprimidos y archivos empaquetados. En concreto, con archivos empaquetados.

Realmente, los archivos ".odt" de nuestro OpenOffice son archivosempaquetados: un archivo que está echo de otros archivos. NOTA: mucha gente, cuando habla de esto, siempre habla de comprimidos, sin tener en cuenta que EMPAQUETADO != COMPRIMIDO. En este caso, creo que se trata de un empaquetado de archivos debido a que, según tengo entendido (no estoy seguro al cien por cien), no reduce el tamaño de los archivos en disco, sino que los junta como si fueran un único archivo.

Cuando trabajamos con un editor de textos (OpenOffice Writer en este ejemplo) nunca escribimos texto sin más: siempre aplicamos formatos (márgenes, letras, tamaño, párrafos), otros tipos de arvhivos (como imágenes) y si nos vamos a niveles más avanzados, necesitamos archivos extras que guarden configuraciones muy específicas (como por ejemplo la combinación de correspondencia entre Word y Excel). ¿Todo eso se guarda en un simple archivo? Pues es evidente que no. Antes de conocer eso, yo me preguntaba cómo narices podría funcionar eso a un nivel más bajo del que trabajamos habitualmente, y lo cierto es que no iba mal encaminado. Yo suponía que necesitaría más de un archivo (y más de dos o tres seguro) para guardar todo. Un archivo para el contenido y el formato, directorios (carpetas) para las imágenes, y archivos extras con otros metadatos como autor, hora, fecha, configuración y otras muchas cosas que seguro que yo no sabría ni que existen. Lo que no conseguía imaginar es ¿de dónde se sacaba toda esa información en un único archivo?

Un día, navegando, encontré un artículo que me recordó ese tema y trasteé un poquito hasta encontrar cómo verdaderamente funciona: un archivo .odt es exactamente igual que un archivo .zip. En este artículo habla, muy por encima, de este fenómeno.

EJEMPLO PRÁTICO

Creé un archivo en OpenOffice writer, cuyo texto era una única línea. Posteriormente, cambié la extensión .odt a .zip y, con el winrar (vale cualquier otro), extraje el contenido. Me encontré con directorios y archivos.xml.
Arvhido de ejemplo formato .odt


Extensión cambiada a .zip y abierto con winrar. Esto es lo que nos encontramos

¿QUÉ ES LO QUE NOS ENCONTRAMOS?

A muy grandes rasgos, encontramos tres carpetas y 6 archivos, de los cuales 4 son archivos xml.
Una carpeta para configuraciones, otra para metadatos, otra para los "thumbnails" o imágenes del archivo.

En los archivos sueltos, encontramos "content.xml" para el contenido, otros archivos para ajustes y los estilos aplicados, entre otros.
Con eso, el editor de textos tiene toda la información necesaria para crear y editar este tipo de archivos.

Si abrimos el fichero content.xml y buscamos un poquito, encontramos el contenido entre todas las etiquetas de este lenguaje. En mi caso lo abro con NotePad++ porque tiene colores para diferenciar texto de etiquetas, algo muy recomendable. El único problemilla es que lo genera todo en la misma línea de código, y eso dificulta mucho la tarea de encontrar el poco contenido que yo había escrito en mi documento de ejemplo.


Ahí podemos ver la línea de texto que yo había añadido previamente a nuetro archivo al crearlo.

 ¿Puede esto sernos útil?

PUES CLARO QUE SI.
Bueno, para ser más exactos, habitualmente no. Pero todo lo que sea saber siempre viene bien, ¿no?.

A mi me pasa a menudo que la gente se complica al mandar fotos por correo electrónico: las adjuntan todas a un documento de word y luego adjuntan ese archivo al correo. Además de complicarse ellos la vida, me la complican a mí: ¿Cómo narices extraemos limpiamente, sin ctrl+c ni ctrl+v, esas imágenes? Aquí tienes la respuesta: solo con cambiar la extensión del archivo ya puedes acceder a ellas en la carpeta Configurations2/images.
Además, tienes la oportunidad de poder copiar todo el texto sin ninguna clase de formato, o de copiar el código xml que te interese.

Por lo demás, todo es investigar. Trastear es lo que más te hace aprender, y esto es una gran oportunidad: estos métodos suelen ser poco conocidos, todo un paraíso de investigación.

0 comentarios:

Publicar un comentario

Deja tu comentario si lo deseas. Recuerda ser respetuoso. El comentario lo revisará un administrador y será borrado si se considera inapropiado. Gracias