Un solo archivo
pandoc es la herramienta de referencia para conversiones entre formatos. De DOCX a Markdown, un
archivo se resuelve en una línea:
pandoc documento.docx -t gfm -o documento.md
La salida gfm (GitHub Flavored Markdown) suele ser la más cómoda para publicar. Si el documento trae
imágenes u otros medios, --extract-media=DIR los extrae y ajusta las referencias en el Markdown
generado. Esto no garantiza que todos los elementos del DOCX se conserven perfectamente: revisa los
archivos y las referencias resultantes.
Por lotes
Para una carpeta entera, un bucle simple alcanza. Nombro la salida a partir del original para no
pisar nada. En Bash, *.docx no coincide por defecto con extensiones .DOCX; si no hay coincidencias,
normalmente deja el patrón literal. Este ejemplo comprueba que haya archivos antes de convertirlos:
shopt -s nullglob
archivos=( *.docx )
if ((${#archivos[@]} == 0)); then
echo "No se encontraron archivos .docx" >&2
exit 1
fi
mkdir -p salida
for f in "${archivos[@]}"; do
pandoc "$f" -t gfm --extract-media=salida -o "salida/${f%.docx}.md"
done
El patrón y la eliminación del sufijo del nombre de salida distinguen mayúsculas de minúsculas por
defecto. Admitir .DOCX también requiere tratar correctamente ese sufijo al construir el nombre de
salida; este ejemplo solo contempla .docx en minúsculas. Puedes llamar markdown/ a la carpeta de
salida si prefieres ese nombre.
Antes de correrlo sobre cientos de archivos, conviene probar con uno y revisar el resultado.
Detalles que vale la pena ajustar
| Situación | Opción |
|---|---|
| Controlar el ajuste de líneas del Markdown generado | --wrap=none |
| Extraer imágenes | --extract-media=DIR |
| Numerar secciones | --number-sections |
--wrap=none evita que Pandoc ajuste las líneas del archivo Markdown; no controla la conservación de
notas al pie. Inspecciona cómo quedaron representadas después de la conversión. En general el resultado
es un buen punto de partida, no un texto final: las tablas y los estilos anidados siempre necesitan una
revisión a mano.