sábado, 27 de diciembre de 2025

Cómo extraer las imágenes de un archivo "docx".

 

Hay varias formas de extraer las imágenes de un archivo .docx en Linux sin necesidad de instalar LibreOffice o programas gráficos pesados. Un .docx es básicamente un archivo ZIP que contiene carpetas y archivos XML, y las imágenes están guardadas (casi siempre) en la carpeta word/media/.

Los métodos más prácticos y usados:

1. Método más simple y directo (solo con unzip, que viene instalado en casi todas las distros)

# Crea una carpeta temporal para no ensuciar
mkdir imagenes_docx
# Extrae solo los archivos de la carpeta word/media/ (donde están las imágenes)
unzip -j "documento.docx" "word/media/*" -d imagenes_docx/

Explicación: - -j = ignora la estructura de carpetas y vuelca todo directamente (opcional, pero más limpio) - "word/media/*" = solo extrae lo que está dentro de word/media - Las imágenes aparecerán con nombres como image1.png, image2.jpeg, emf00001.emf, etc.

Si también quieres los dibujos vectoriales EMF/WMF que a veces usa Word:

unzip -j "documento.docx" "word/media/*" -d imagenes_docx/

2. Versión más robusta con filtro por tipo de archivo (solo imágenes reales)

mkdir imagenes_docx
unzip -l "documento.docx" "word/media/*" | grep -E '\.(png|jpg|jpeg|gif|svg|bmp|tif|tiff|wmf|emf)$' | awk '{print $4}' | xargs -I {} unzip -j "documento.docx" "{}" -d imagenes_docx/

Esto evita extraer archivos basura que a veces aparecen en media/ (como .bin o .dat).

3. Usando docx2txt o python (si prefieres herramientas específicas)

Con Python (casi siempre tienes python instalado):

pip install docx2txt   # o python-docx, o extract-msg, según prefieras

Script rápido de 5 líneas:

#!/usr/bin/env python3
from docx2txt import process
import os

os.makedirs("imagenes_docx", exist_ok=True)
process("documento.docx", "imagenes_docx")

docx2txt extrae automáticamente todas las imágenes y las guarda numeradas en la carpeta que le indiques.

4. One-liner ultra rápido (si solo quieres verlas rápido)

unzip -p documento.docx word/media/* | feh -

Esto abre directamente todas las imágenes con el visor feh (instálalo si no lo tienes: sudo apt install feh en Debian/Ubuntu).

Resumen: el comando más usado y efectivo

mkdir extracted_images && unzip -j "tu_archivo.docx" "word/media/*" -d extracted_images

Funciona en el 99 % de los .docx modernos y no requiere nada más que unzip.

No hay comentarios:

Publicar un comentario