Hola a todos,
Estoy teniendo un problema al intentar procesar archivos PDF en n8n.
Mensaje de Error
Failed to load pdf-parse. This loader currently supports pdf-parse v1 only.
Please install v1, e.g. npm install pdf-parse@^1
(v2 is not yet supported).
Entorno
n8n Version: 2.20.9
Deployment: [Self-hosted / Docker / npm install]
Qué Estoy Intentando Hacer
Estoy usando un flujo de trabajo de cargador de PDF/procesamiento de documentos y recibo el error anterior cada vez que n8n intenta analizar un PDF.
Preguntas
¿Alguien ha encontrado este problema recientemente?
¿Qué componente requiere pdf-parse v1?
Si ejecuto n8n en Docker, ¿cuál es la forma recomendada de forzar la instalación de pdf-parse@^1?
¿Hay una solución de compatibilidad o una alternativa hasta que se agregue soporte para v2?
Agradezco cualquier orientación.
¡Gracias!
Hola @Bhavin_Patel
Estás viendo este error porque n8n está intentando leer un PDF usando una herramienta llamada pdf-parse. El problema es que el nodo “Document Loader” está diseñado para funcionar solo con una versión antigua (v1) de esta herramienta, pero tu sistema tiene instalada una versión más nueva (v2). Esta incompatibilidad de versiones causa que el proceso se bloquee.
Este problema ocurre porque n8n depende de una biblioteca externa llamada LangChain para manejar documentos. LangChain tiene una regla estricta en su código que verifica la versión específica del analizador de PDF. Cuando detecta la versión más nueva, detiene el flujo de trabajo y te pide que degradues, aunque la versión más nueva sea generalmente más actualizada.
La solución mejor y más fácil es actualizar tu instalación de n8n a la versión 2.23.0 o superior. El equipo de n8n lanzó una corrección que reemplaza el exigente cargador de LangChain con su propia versión personalizada. Este nuevo cargador es compatible con pdf-parse v2, lo que elimina el error y permite que tus PDFs se procesen normalmente.
Si no puedes actualizar n8n y estás usando Docker, puedes “forzar” la versión antigua de vuelta a tu sistema. Lo haces creando un Dockerfile personalizado que instale específicamente la versión 1.1.1 de pdf-parse. Esto engaña efectivamente al Document Loader para que piense que el entorno es correcto y pueda funcionar nuevamente.
FROM docker.n8n.io/n8nio/n8n:2.20.9
USER root
RUN npm install -g pdf-parse@1.1.1
USER node
Nota: Necesitas compilar y ejecutar esta imagen en lugar de la predeterminada.
Para una solución alternativa más confiable a largo plazo, puedes omitir completamente el nodo “Document Loader”. En su lugar, usa un “Code Node” para extraer el texto de tu PDF manualmente. Al habilitar una configuración específica en tus variables de entorno, puedes decirle a n8n que permita que el Code Node maneje el PDF directamente, eludiendo el cargador defectuoso y haciendo que tu flujo de trabajo continúe.
Hazme saber si te fue útil