¿Qué es ODT?
ODT (OpenDocument Text) es el formato de procesamiento de texto del estándar ODF (OpenDocument Format), un formato estandarizado por ISO/IEC (ISO/IEC 26300) para documentos de oficina. ODT es el formato nativo de LibreOffice Writer, Apache OpenOffice Writer y Google Docs (cuando se exporta como ODF). Fue desarrollado por OASIS como alternativa abierta y neutral respecto a los fabricantes frente a los formatos propietarios de Microsoft.
Los archivos ODT son archivos ZIP que contienen múltiples archivos XML y recursos. A diferencia de RTF (texto plano) o DOC (binario), ODT separa el contenido, el formato, los metadatos y la configuración en archivos XML distintos.
La familia ODF incluye:
- ODT — OpenDocument Text (procesamiento de texto)
- ODS — OpenDocument Spreadsheet (hojas de cálculo)
- ODP — OpenDocument Presentation (presentaciones)
- ODG — OpenDocument Graphics (dibujo vectorial)
Estructura del Paquete ODT
Un archivo ODT es un archivo ZIP. Renombrando documento.odt a documento.zip y extrayendo se revela:
documento.odt/
├── mimetype ← "application/vnd.oasis.opendocument.text" (sin comprimir)
├── META-INF/
│ └── manifest.xml ← manifiesto del paquete
├── content.xml ← contenido del documento + estilos automáticos
├── styles.xml ← estilos con nombre + diseños de página
├── meta.xml ← propiedades del documento (autor, título, estadísticas)
├── settings.xml ← configuración de la aplicación
└── Thumbnails/
└── thumbnail.png ← imagen de vista previa
Importante: El archivo mimetype debe ser la primera entrada en el ZIP y debe almacenarse sin comprimir. Esto permite la detección del tipo MIME leyendo los primeros bytes del archivo sin descomprimirlo.
Estructura de content.xml
El contenido del documento vive en content.xml, siguiendo el espacio de nombres XML de ODF:
<?xml version="1.0" encoding="UTF-8"?>
<office:document-content
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0">
<office:automatic-styles>
<style:style style:name="P1" style:family="paragraph">
<style:text-properties fo:font-weight="bold" fo:font-size="14pt"/>
</style:style>
</office:automatic-styles>
<office:body>
<office:text>
<text:p text:style-name="Heading1">Introducción</text:p>
<text:p text:style-name="P1">Párrafo con negrita de 14pt directa.</text:p>
<text:p text:style-name="Text Body">Párrafo de cuerpo normal.</text:p>
</office:text>
</office:body>
</office:document-content>
Elementos XML ODF Clave
| Elemento | Descripción |
|---|---|
<text:p> |
Párrafo |
<text:h> |
Encabezado (con atributo text:outline-level) |
<text:span> |
Fragmento de texto en línea (para formato de carácter) |
<text:list> |
Lista ordenada o desordenada |
<table:table> |
Tabla |
<draw:image> |
Imagen incrustada o vinculada |
<text:note> |
Nota a pie de página o nota al final |
<text:section> |
Sección del documento |
Estilos vs Formato Directo
ODT tiene un modelo de formato dual:
Estilos con Nombre (en styles.xml)
Los estilos de párrafo (Cuerpo de texto, Encabezado 1, Párrafo de lista), estilos de carácter y diseños de página se definen en styles.xml y se referencian por nombre. Enfoque recomendado — cambiar un estilo actualiza todos los párrafos que lo usan.
Estilos Automáticos (en content.xml)
Los estilos "automáticos" son estilos sin nombre generados por el formato directo. Aparecen en <office:automatic-styles> en content.xml con nombres generados como P1, P2, T1.
Imágenes y Objetos Incrustados
Las imágenes en ODT se almacenan en un directorio Pictures/ dentro del ZIP:
<draw:image draw:name="imagen1"
xlink:href="Pictures/10000000000001E000000160ABCD1234.png"
xlink:type="simple"
xlink:show="embed"
xlink:actuate="onLoad"/>
La imagen es el archivo PNG/JPEG real almacenado en el archivo ZIP. Esto es más limpio que la codificación hexadecimal de RTF — las imágenes en ODT se almacenan con calidad completa sin sobrecarga de codificación.
Compatibilidad ODT
LibreOffice Writer
Formato nativo — fidelidad completa, incluyendo todos los estilos, macros (Basic/Python), formularios y características de extensiones.
Google Docs
- Importación: Buena — la mayoría del formato, estilos, imágenes y tablas se importan correctamente
- Exportación: Archivo → Descargar → Formato OpenDocument (.odt)
Microsoft Word
Word admite ODT desde Word 2013 de forma nativa:
- Limitaciones conocidas: estilos de párrafo personalizados, ciertos estilos de lista y matices de formato de sección se pierden
Conversión de Archivos ODT
Pandoc
# ODT a DOCX
pandoc entrada.odt -o salida.docx
# ODT a PDF
pandoc entrada.odt -o salida.pdf
# ODT a Markdown
pandoc entrada.odt -t markdown -o salida.md
# DOCX a ODT
pandoc entrada.docx -o salida.odt
LibreOffice sin Cabecera
# ODT a PDF (mejor calidad)
soffice --headless --convert-to pdf entrada.odt
# ODT a DOCX
soffice --headless --convert-to docx entrada.odt
# Conversión por lotes de todos los ODT
soffice --headless --convert-to pdf *.odt --outdir /salida/
Inspeccionar ODT directamente (es solo un ZIP)
# Listar archivos en ODT
unzip -l documento.odt
# Extraer y ver content.xml
unzip -p documento.odt content.xml | xmllint --format -
# Extraer imágenes incrustadas
unzip documento.odt "Pictures/*" -d ./imagenes_extraidas/
ODT vs DOCX: ¿Cuál Elegir?
| Consideración | ODT | DOCX |
|---|---|---|
| Neutralidad de proveedor | Totalmente abierto (estándar ISO) | Controlado por Microsoft |
| Preservación a largo plazo | Excelente (ISO 26300) | Buena (ISO 29500) |
| Nativo de LibreOffice | Sí | Mediante capa de conversión |
| Nativo de Word | Mediante conversión | Sí |
| Uso gubernamental/legal | Común en UE, Asia | Dominante en EE.UU., Reino Unido |
| Soporte de macros | LibreOffice Basic/Python | VBA |
La elección pragmática: Si tú o tus destinatarios usan principalmente Microsoft Word, DOCX es más seguro. Si usas principalmente LibreOffice o trabajas en entornos que exigen estándares abiertos (sector público de la UE, academia), ODT es la elección correcta.
La condición de estándar ISO/IEC de ODT — a diferencia del formato propietario DOC al que reemplazó — garantiza que siempre podrá ser leído por herramientas de código abierto, convirtiéndolo en el estándar de oro para el archivado de documentos sin bloqueo de proveedor.
Conversiones relacionadas
Conversiones de documento que siguen este tema: