@pgomezcru-altia/markdown-export
v1.0.2
Published
Exportador de Markdown a PDF/HTML con estilos corporativos de Altia
Maintainers
Readme
Exportador de Documentos Markdown - Altia
Herramienta CLI para exportar documentos Markdown a PDF/HTML/DOCX con estilos corporativos de Altia.
🚀 Instalación Zero-Dependency
¡Simplemente instala y funciona! Esta herramienta incluye binarios portables de todas las dependencias necesarias (pandoc, wkhtmltopdf, qpdf), por lo que no necesitas instalar nada adicional en tu sistema.
# Instalar el paquete
npm install -g @pgomezcru-altia/markdown-export
# Verificar instalación
altia-export doctor
# ¡Listo para usar!
altia-export convert documento.mdNota sobre el tamaño del paquete: Debido a los binarios incluidos, el paquete tiene aproximadamente 150 MB. Este tamaño más grande es el precio de ofrecer una instalación sin dependencias externas.
Binarios Incluidos (Windows x64)
- Pandoc 3.1.11 - Conversión Markdown → HTML
- wkhtmltopdf 0.12.6 - HTML → PDF con renderizado de alta calidad
- qpdf 11.9.0 - Fusión de PDFs y manipulación
Requisitos Mínimos
- Node.js v20+ - Solo necesario para ejecutar el CLI y renderizar diagramas Mermaid
- Windows 10/11 (x64) - Los binarios bundled son específicos de plataforma
# Verificar Node.js
node --version # debe ser >= 20.0.0
npx --version # incluido con Node.jsCaracterísticas
- ✅ CLI robusto con comandos para todas las operaciones
- ✅ Verificación automática de dependencias (
doctor) - ✅ Portada automática con metadatos del documento
- ✅ Tabla de contenidos (TOC) con numeración de páginas
- ✅ Cabecera y pie de página profesionales
- ✅ Soporte para diagramas Mermaid
- ✅ Estilos CSS corporativos
- ✅ Exportación individual o masiva por carpeta
- ✅ Integración opcional con VS Code
Requisitos del sistema (Instalación Manual - Opcional)
🎯 Esta sección es OPCIONAL. La herramienta incluye binarios portables, por lo que puedes saltarte esta instalación manual.
Solo necesitas instalar manualmente las dependencias del sistema si:
- Prefieres usar versiones específicas de las herramientas
- Quieres usar el flag
--system-binaries - Necesitas versiones más recientes que las bundled
Uso de Binarios del Sistema
Para forzar el uso de binarios instalados en tu sistema en lugar de los bundled:
# Usar binarios del sistema para una conversión
altia-export convert documento.md --system-binaries
# Verificar solo binarios del sistema
altia-export doctor --system-binariesDependencias del Sistema (sin bundled)
Si decides instalar manualmente las dependencias en tu sistema:
Node.js (obligatorio)
Node.js (v20 o superior) - Requerido para ejecutar el CLI y renderizar diagramas Mermaid
# Verificar si está instalado node --version npx --version # Instalar si es necesario winget install OpenJS.NodeJSDespués de la instalación, reinicia tu terminal o cierra todas las ventanas de VS Code para que Node.js y npx aparezcan en el PATH.
Pandoc - Conversión de Markdown a HTML
winget install pandocPuede ser necesario reiniciar la terminal tras la instalación. Para añadir al PATH manualmente, consulta la sección "Añadir al PATH (si es necesario)" más abajo.
wkhtmltopdf - Generación de PDF desde HTML
winget install --id wkhtmltopdf.wkhtmltox -ePuede ser necesario reiniciar la terminal tras la instalación. Para añadir al PATH manualmente, consulta la sección "Añadir al PATH (si es necesario)" más abajo.
Dependencias opcionales (recomendadas)
qpdf - Para combinar PDFs (portada + TOC + contenido + contraportada)
winget install qpdf.qpdfPuede ser necesario reiniciar la terminal tras la instalación. Para añadir al PATH manualmente, consulta la sección "Añadir al PATH (si es necesario)" más abajo.
Añadir al PATH (si es necesario)
En general, Node.js, Pandoc, wkhtmltopdf y qpdf pueden requerir que se añadan al PATH del sistema manualmente si no se detectan tras la instalación.

Para ello:
- Abre Propiedades del sistema → Configuración avanzada del sistema
- Clic en Variables de entorno
- Selecciona Path en Variables del sistema → Editar → Nuevo
- Añade las rutas donde se instalaron las herramientas:
C:\Program Files\nodejs\(Node.js y npx)C:\Users\<Nombre de usuario>\AppData\Local\Pandoc\C:\Program Files\wkhtmltopdf\bin\C:\Program Files\qpdf 12.2.0\bin\(opcional)
Verificar instalación
node --version # v20.0.0 o superior
npm --version # Incluido con Node.js
npx --version # Incluido con Node.js
pandoc --version # 2.0 o superior
wkhtmltopdf --version
qpdf --version # opcionalInstalación
Opción 1: Instalación CLI (recomendada)
Instala el paquete como módulo Node.js para usar el comando altia-export globalmente.
# Instalar desde el directorio del proyecto
npm install -g .
# O si está publicado en un registro
npm install -g @pgomezcru-altia/markdown-exportVerificar instalación:
altia-export --version
altia-export doctorOpción 2: Uso directo (desarrollo)
Sin instalación global, ejecuta desde el directorio del proyecto:
node bin/altia-export.js doctor
node bin/altia-export.js convert documento.mdUso del CLI
1. Verificar dependencias - doctor
Siempre ejecuta este comando primero para verificar que todas las dependencias están instaladas correctamente.
altia-export doctorOpciones:
--system-binaries- Verifica solo binarios del sistema (ignora bundled)
Salida con binarios bundled (por defecto):
🔍 Verificando dependencias...
Binarios embebidos:
✓ pandoc: 3.1.11 (embebido)
C:\...\node_modules\@pgomezcru-altia\markdown-export\bundled\win32-x64\pandoc.exe
✓ wkhtmltopdf: 0.12.6 (embebido)
C:\...\node_modules\@pgomezcru-altia\markdown-export\bundled\win32-x64\wkhtmltopdf.exe
✓ qpdf: 11.9.0 (embebido)
C:\...\node_modules\@pgomezcru-altia\markdown-export\bundled\win32-x64\qpdf.exe
Dependencias del sistema:
Obligatorias:
✓ pandoc: pandoc 3.8.2.1 (sistema)
C:\Users\user\AppData\Local\Pandoc\pandoc.exe
✓ wkhtmltopdf: wkhtmltopdf 0.12.6 (sistema)
C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe
✓ npx: 10.8.2 (sistema)
C:\nvm4w\nodejs\npx.cmd
Opcionales:
✓ qpdf: qpdf version 12.2.0 (sistema)
C:\Program Files\qpdf 12.2.0\bin\qpdf.exe
Comportamiento efectivo:
Se priorizarán los binarios embebidos sobre los del sistema
Use --system-binaries para forzar uso de binarios del sistema
✅ Todas las dependencias obligatorias están disponiblesEl comando doctor te muestra:
- ✅ Binarios bundled disponibles (se usan por defecto)
- ✅ Binarios del sistema si están instalados
- 📋 Comportamiento efectivo (qué binarios se usarán)
Salida:
- ✅ Dependencias obligatorias: Node.js, npx, Pandoc, wkhtmltopdf
- ⚠️ Dependencias opcionales: qpdf
Ejemplo de salida:
🔍 Verificando dependencias...
Dependencias obligatorias:
✓ pandoc: pandoc 3.8.2.1
C:\Users\user\AppData\Local\Pandoc\pandoc.exe
✓ wkhtmltopdf: wkhtmltopdf 0.12.6 (with patched qt)
C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe
✓ npx: 10.8.2
C:\nvm4w\nodejs\npx.cmd
Dependencias opcionales:
✓ qpdf: qpdf version 12.2.0
C:\Program Files\qpdf 12.2.0\bin\qpdf.exe
✅ Todas las dependencias obligatorias están disponibles2. Inicializar proyecto - init
Configura un proyecto con tareas de VS Code para exportación rápida.
# Inicializar en directorio actual
altia-export init
# Inicializar en directorio específico
altia-export init /ruta/a/workspace
# Sobrescribir configuración existente sin confirmar
altia-export init --force
# Configurar globalmente en VS Code
altia-export init --globalOpciones:
-f, --force- Sobrescribe archivos de configuración existentes sin solicitar confirmación--global- Configura VS Code globalmente (todas las workspaces)
Comportamiento:
- Primera ejecución: Crea automáticamente
.vscode/tasks.jsony.vscode/settings.json - Ejecuciones posteriores sin
--force: Solicita confirmación antes de sobrescribir- Responde
soyespara confirmar - Responde
nonopara cancelar (conserva configuración existente)
- Responde
- Con
--force: Sobrescribe archivos existentes directamente sin prompts (útil para scripts)
¿Qué hace?
- Crea/actualiza
.vscode/tasks.jsoncon tareas predefinidas - Configura comandos rápidos para exportación
- Integra estilos corporativos en la previsualización de Markdown
Tareas creadas:
Altia: Exportar a PDFAltia: Exportar a HTMLAltia: Exportar a DOCXAltia: Exportar carpeta completaAltia: Exportar a PDF (rápido - sin extras)Altia: Verificar dependencias (doctor)
3. Convertir archivo - convert
Convierte un archivo Markdown individual a PDF, HTML o DOCX.
# Conversión básica a PDF
altia-export convert documento.md # PDF por defecto
# Especificar formato
altia-export convert documento.md -f pdf
altia-export convert documento.md -f html
altia-export convert documento.md -f docx
# Especificar ruta de salida
altia-export convert documento.md -o salida/documento.pdf
# Sin elementos opcionales
altia-export convert documento.md --no-cover --no-toc --no-mermaid
# Conservar archivos temporales (debug)
altia-export convert documento.md --keep-temp
# Usar binarios del sistema
altia-export convert documento.md --system-binariesOpciones:
-f, --format <format>- Formato de salida:pdf,htmlodocx(default:pdf)-o, --output <path>- Ruta personalizada del archivo de salida--no-mermaid- Desactiva renderizado de diagramas Mermaid--no-cover- Omite generación de portada--no-toc- Omite tabla de contenidos--strip-header-numbers- Elimina numeración inicial en encabezados DOCX (por defecto en DOCX)--no-strip-header-numbers- Conserva numeración en encabezados DOCX (por defecto en PDF/HTML)--keep-temp- Conserva archivos temporales para depuración--system-binaries- Usa binarios del sistema (ignora bundled)
Ejemplos prácticos:
# Documento completo con todos los elementos
altia-export convert informe.md -f pdf
# HTML sin portada para web
altia-export convert guia.md -f html --no-cover
# PDF rápido sin extras
altia-export convert borrador.md --no-cover --no-toc
# Depuración: ver archivos intermedios
altia-export convert problema.md --keep-temp4. Conversión masiva - batch
Exporta todos los archivos Markdown de una carpeta.
# Exportar carpeta completa a PDF
altia-export batch ./documentos
# Exportar a HTML
altia-export batch ./documentos -f html
# Especificar carpeta de salida
altia-export batch ./documentos -o ./exportados
# Sin elementos opcionales
altia-export batch ./documentos --no-cover --no-toc
# Combinación completa
altia-export batch ./src -f html -o ./dist --no-coverOpciones:
-f, --format <format>- Formato de salida:pdf,htmlodocx(default:pdf)-o, --output <folder>- Carpeta de destino (default:PDF)--no-mermaid- Desactiva diagramas Mermaid--no-cover- Omite portadas--no-toc- Omite tablas de contenidos--strip-header-numbers- Elimina numeración inicial en encabezados DOCX (por defecto en DOCX)--no-strip-header-numbers- Conserva numeración en encabezados DOCX (por defecto en PDF/HTML)--keep-temp- Conserva archivos temporales--system-binaries- Usa binarios del sistema--no-continue-on-error- Detener en el primer error (por defecto continúa)--fail-fast- Alias de--no-continue-on-error--error-report <path>- Guardar reporte de errores en formato JSON--verbose-errors- Incluir stack traces completos en los errores--quiet- Modo silencioso, solo mostrar resumen final
Comportamiento:
- Procesa recursivamente todos los
.mdde la carpeta - Mantiene estructura de subdirectorios
- Ignora archivos que empiezan con
_o. - Continúa procesando archivos tras errores individuales (usa
--fail-fastpara detener) - Genera resumen completo con estadísticas de éxito/fallo
- Códigos de salida:
0(todos exitosos),1(algunos fallaron),2(interrumpido por fail-fast)
Ejemplo de salida:
🚀 Altia Markdown Export - Batch
Carpeta: ./documentos
Encontrados 5 archivo(s) Markdown
Procesando 1/5: documento1.md
✓ documento1.md (2345ms)
Procesando 2/5: documento2.md
✗ documento2.md: Frontmatter inválido: Falta el campo obligatorio: title
Procesando 3/5: documento3.md
✓ documento3.md (1876ms)
Resumen: ✅ 4 exitoso(s), ❌ 1 fallido(s)
Tiempo total: 8.65s
Archivos fallidos:
✗ documento2.md
Frontmatter inválido: Falta el campo obligatorio: titleEjemplos de manejo de errores:
# Continuar tras errores (comportamiento por defecto)
altia-export batch ./documentos
# Detener en el primer error
altia-export batch ./documentos --fail-fast
# Guardar reporte detallado de errores
altia-export batch ./documentos --error-report ./errores.json
# Modo silencioso con reporte de errores
altia-export batch ./documentos --quiet --error-report ./errores.json
# Errores detallados con stack traces
altia-export batch ./documentos --verbose-errors
✓ guia.md → PDF/guia.pdf
✓ manual.md → PDF/manual.pdf
✅ 3 archivo(s) convertido(s)
Carpeta destino: PDF5. Ayuda - help
Muestra ayuda general o de un comando específico.
# Ayuda general
altia-export --help
altia-export help
# Ayuda de comando específico
altia-export help convert
altia-export help batch
altia-export help init
altia-export help doctor
altia-export help frontmatterPara una referencia rapida del formato YAML de metadatos, usa:
altia-export help frontmatterFormato del documento
Frontmatter (Opcional ⭐ NUEVO)
Los archivos Markdown pueden incluir un bloque YAML con metadatos (frontmatter). El frontmatter es opcional:
- Con frontmatter: Proporciona metadatos completos (título, subtítulo, versiones, etc.)
- Sin frontmatter: El título se genera automáticamente desde el nombre del archivo
Campos opcionales (solo si incluyes frontmatter)
- title: Título del documento
- subtitle: Subtítulo descriptivo
- versions: Lista de versiones del documento (cada versión incluye date, version, reason, elaborated_by, validated_by)
- distribution_list: Lista de destinatarios del documento (cada uno con name y role)
Ejemplo: Con frontmatter (recomendado para documentos formales)
---
title: "Documento de prueba técnico"
subtitle: "Guía de estilos y ejemplos / Cliente Demo"
versions:
- date: "20/11/2025"
version: "01"
reason: "++ Descripción de la causa de la versión 01"
elaborated_by:
- name: "Elaborador 1 de la versión 01"
date: "01/11/2025"
- name: "Elaborador 2 de la versión 01"
date: "02/11/2025"
validated_by:
- name: "Validador 1 de la versión 01"
date: "03/11/2025"
- name: "Validador 2 de la versión 01"
date: "04/11/2025"
- date: "15/11/2025"
version: "00"
reason: "++ Descripción de la causa de la versión 00"
elaborated_by:
- name: "Elaborador 1 de la versión 00"
date: "01/01/2025"
validated_by:
- name: "Validador 1 de la versión 00"
date: "03/01/2025"
distribution_list:
- name: "Destinatario 1"
role: "Rol del destinatario 1"
- name: "Destinatario 2"
role: "Rol del destinatario 2"
---
# Contenido del documento
Texto del documento...Ejemplo mínimo (con frontmatter)
Solo con campos obligatorios:
---
title: "Título del Documento"
subtitle: "Subtítulo descriptivo"
---
# Contenido del documento
Texto del documento...Ejemplo: Sin frontmatter (conversión rápida) ⭐ NUEVO
Para documentos simples, el frontmatter es completamente opcional. El título se genera automáticamente desde el nombre del archivo.
Archivo: mi-primer-documento.md
# Contenido del documento
Texto del documento sin frontmatter...
## Sección 1
Más contenido...Resultado:
- 📄 Título automático: "Mi Primer Documento"
- 📄 Subtítulo: vacío
- 📄 Versiones: ninguna
- 📄 Listera de destinatarios: ninguna
Diagramas Mermaid
Uso básico
\`\`\`mermaid
graph TD
A[Usuario] --> B[Script]
B --> C{Formato}
C -->|HTML| D[Página web]
C -->|PDF| E[Documento PDF]
\`\`\`Configuración
- Formato de salida: PNG (por defecto) o SVG
- Tema: Se puede configurar en
assets/mermaid-config.json - Colores corporativos: Automáticamente inyectados desde la configuración
Atributos avanzados
\`\`\`mermaid {format=svg theme=dark background=transparent}
graph LR
A --> B
\`\`\`Integración con VS Code (opcional)
Usar tareas de VS Code
Tras ejecutar altia-export init, puedes usar tareas directamente desde VS Code:
- Abrir archivo
.md Ctrl+Shift+P→ "Tasks: Run Task"- Seleccionar tarea de la lista "Altia: ..."
Tareas disponibles:
- Altia: Exportar a PDF - Conversión completa a PDF con portada, TOC y estilos (tarea por defecto)
- Altia: Exportar a HTML - Conversión a HTML standalone
- Altia: Exportar a DOCX - Conversión a Word con plantilla corporativa
- Altia: Exportar carpeta completa - Procesar todos los .md del directorio actual
- Altia: Exportar a PDF (rápido - sin extras) - PDF sin portada ni TOC para previsualizaciones rápidas
- Altia: Verificar dependencias (doctor) - Verificar que todas las herramientas necesarias estén instaladas
Atajo de teclado recomendado:
Para la tarea por defecto (PDF completo), presiona Ctrl+Shift+B (Run Build Task).
Atajos personalizados (opcional):
Añade a .vscode/keybindings.json:
[
{
"key": "ctrl+shift+e",
"command": "workbench.action.tasks.runTask",
"args": "Altia: Exportar a PDF"
},
{
"key": "ctrl+shift+h",
"command": "workbench.action.tasks.runTask",
"args": "Altia: Exportar a HTML"
}
]Actualizar tareas en proyectos existentes
Si tu proyecto ya tenía tareas antiguas basadas en PowerShell, ejecuta:
altia-export initEl comando detectará automáticamente las tareas obsoletas y las actualizará con las nuevas versiones basadas en CLI.
Previsualización con estilos
Para previsualizar Markdown con estilos corporativos en VS Code:
- Abrir un archivo
.md - Presionar
Ctrl+Shift+V(oCmd+Shift+Ven Mac) - O clic en el icono de previsualización (esquina superior derecha)
Los estilos se aplicarán automáticamente si ejecutaste altia-export init.
Estructura del proyecto
.
├── bin/ # Ejecutable CLI
│ └── altia-export.js # Punto de entrada
├── lib/ # Código fuente
│ ├── cli.js # Implementación CLI
│ ├── converter.js # Motor de conversión
│ ├── dependencies.js # Verificación de dependencias
│ └── installer.js # Inicialización de proyectos
├── assets/ # Recursos estáticos
│ ├── *.css # Hojas de estilo
│ ├── *.html # Plantillas (portada, TOC, etc.)
│ ├── *.png # Imágenes corporativas
│ └── mermaid-config.json # Configuración de Mermaid
├── scripts/ # Scripts de conversión
│ ├── insert-markdown-content.ps1 # Inserción en plantilla Word (DOCX)
│ ├── update-docx-metadata.ps1 # Metadatos DOCX (PowerShell)
│ └── filters/
│ └── mermaid.lua # Filtro Pandoc para Mermaid
└── templates/ # Plantillas de configuración
└── vscode/ # Tareas y settings de VS CodeSolución de problemas
Binarios Bundled vs Sistema
Por defecto, la herramienta usa binarios bundled (incluidos en el paquete). Esto garantiza:
- ✅ Instalación sin dependencias externas
- ✅ Versiones consistentes y probadas
- ✅ Funciona en entornos sin permisos de administrador
Si prefieres usar binarios del sistema:
# Forzar uso de binarios del sistema para una conversión
altia-export convert documento.md --system-binaries
# Verificar qué binarios se detectan
altia-export doctor
altia-export doctor --system-binaries # Solo del sistemaOrden de prioridad (sin --system-binaries):
- Binarios bundled en
bundled/win32-x64/ - Binarios del sistema (PATH)
- Error si no se encuentra ninguno
Problemas con Binarios Bundled
Error: "Antivirus bloqueó el ejecutable"
Algunos antivirus pueden marcar los binarios bundled como sospechosos. Son oficiales y seguros:
- Pandoc: https://github.com/jgm/pandoc/releases
- wkhtmltopdf: https://wkhtmltopdf.org/downloads.html
- qpdf: https://github.com/qpdf/qpdf/releases
Soluciones:
- Añadir excepción en el antivirus para la carpeta del paquete
- Usar binarios del sistema: instálalos manualmente y usa
--system-binaries - Verificar checksums en bundled/README.md
Error: "Binario bundled corrupto"
# Verificar integridad
altia-export doctor
# Si un bundled está corrupto, usa sistema
altia-export convert documento.md --system-binaries
# O reinstala el paquete
npm uninstall -g @pgomezcru-altia/markdown-export
npm install -g @pgomezcru-altia/markdown-exportDesarrollo: Descargar Binarios Manualmente
Si estás trabajando en el código fuente y no tienes los binarios bundled:
# Ejecutar script de ayuda
.\bundled\download-binaries.ps1
# O descargar manualmente según bundled/README.mdVer bundled/README.md para instrucciones detalladas de descarga e instalación de binarios para desarrollo.
Verificar estado del sistema
# Siempre ejecuta primero
altia-export doctor
```npx no encontrado" o "npx no ejecutable"
```bash
# Verificar Node.js instalado
node --version
# Si no está instalado
winget install OpenJS.NodeJS
# Reiniciar terminal (o cerrar todas las ventanas de VS Code)
# Verificar que npx funciona
npx --version
# Si npx no está en el PATH, puede estar en:
# C:\Program Files\nodejs\npx.cmd
# Añádelo manualmente al PATH del sistemaImportante: El CLI necesita que npx esté accesible en el PATH para renderizar diagramas Mermaid. Ejecuta altia-export doctor para verificar.
Error: "pandoc no encontrado"
winget install pandoc
# Reiniciar terminal
# Verificar
altia-export doctorError: "wkhtmltopdf no encontrado"
winget install --id wkht (código en lugar de gráficos)
Los diagramas Mermaid requieren `npx` para renderizarse. El CLI convierte los bloques Mermaid a imágenes PNG embebidas.
```bash
# Verificar que npx funciona
npx --version
# Si falla, verifica Node.js
node --version
# Ejecutar doctor para diagnóstico
altia-export doctor
# El CLI descargará automáticamente mermaid-cli la primera vez
# (puede tardar unos segundos en la primera ejecución)
# Si los problemas persisten, desactiva Mermaid temporalmente
altia-export convert archivo.md --no-mermaidNota: La primera vez que se renderiza un diagrama Mermaid, npx descargará @mermaid-js/mermaid-cli automáticamente. Esto es normal y solo ocurre una vez.erificar instalación
npm list -g @pgomezcru-altia/markdown-export
Reinstalar si es necesario
npm install -g .
### Mermaid no renderiza
```bash
# Verificar Node.js
node --version
fusiona automáticamente portada, TOC, contenido y contraportada usando `qpdf`:
1. Verificar con `altia-export doctor` que qpdf esté disponible
2. Si qpdf no está instalado, instálalo: `winget install qpdf.qpdf`
3. Los PDFs individuales se guardan en carpeta temporal si usas `--keep-temp`
4. Sin qpdf, solo se genera el PDF del contenido principal
altia-export convert archivo.md --no-mermaidPDFs sin portada o TOC fusionados
El CLI intenta fusionar PDFs automáticamente. Si no funciona:
- Verificar con
altia-export doctor - Los PDFs individuales (portada, contenido) se generan por separado
- Se fusionan con herramientas internas o externas
Archivos temporales para depuración
# Conservar archivos intermedios
altia-export convert archivo.md --keep-temp
# Los archivos temporales se guardan en una carpeta temp-*
# Útil para diagnosticar problemas con Mermaid o conversiónDesinstalación
# Desinstalar paquete global
npm uninstall -g @pgomezcru-altia/markdown-export
# Eliminar configuración de VS Code (opcional)
# Editar manualmente .vscode/settings.json o ejecutar:
# Remove-Item "$env:APPDATA\Code\User\altia-styles" -RecurseLicencia y contacto
Plantilla desarrollada para Altia Consultores.
Para soporte o sugerencias, contactar con el equipo de desarrollo.
