Erreur du chargeur PDF : « Impossible de charger pdf-parse. Ce chargeur ne supporte actuellement que pdf-parse v1 »

Bonjour à tous,

J’ai un problème lors de l’essai de traiter des fichiers PDF dans n8n.

Message d’erreur
Échec du chargement de pdf-parse. Ce chargeur ne supporte actuellement que la version 1 de pdf-parse.
Veuillez installer la v1, par exemple npm install pdf-parse@^1
(la v2 n’est pas encore supportée).
Environnement
Version n8n : 2.20.9
Déploiement : [Auto-hébergé / Docker / npm install]

Ce que j’essaie de faire

J’utilise un flux de travail de chargement PDF/traitement de documents et je reçois l’erreur ci-dessus à chaque fois que n8n essaie de parser un PDF.

Questions
Quelqu’un a-t-il rencontré ce problème récemment ?
Quel composant nécessite la v1 de pdf-parse ?
En cas d’exécution de n8n dans Docker, quelle est la façon recommandée de forcer l’installation de pdf-parse@^1 ?
Y a-t-il un correctif de compatibilité ou une solution de contournement en attente du support de la v2 ?

Toute orientation serait appréciée.

Merci !

Salut @Bhavin_Patel

Vous voyez cette erreur parce que n8n essaie de lire un PDF en utilisant un outil appelé pdf-parse. Le problème est que le nœud « Document Loader » est conçu pour fonctionner uniquement avec une ancienne version (v1) de cet outil, mais votre système a une version plus récente (v2) installée. Cette incompatibilité de version provoque l’arrêt du processus.

Ce problème se produit parce que n8n s’appuie sur une bibliothèque externe appelée LangChain pour gérer les documents. LangChain a une règle stricte dans son code qui vérifie la version spécifique du lecteur PDF. Lorsqu’il détecte la version plus récente, il arrête le flux de travail et vous demande de revenir à une version antérieure, même si la version plus récente est généralement plus à jour.

La meilleure et la plus simple solution est de mettre à jour votre installation n8n à la version 2.23.0 ou supérieure. L’équipe n8n a publié une correction qui remplace le lecteur LangChain pointilleux par sa propre version personnalisée. Ce nouveau lecteur est compatible avec pdf-parse v2, ce qui élimine l’erreur et permet à vos PDF d’être traités normalement.

Si vous ne pouvez pas mettre à jour n8n et que vous utilisez Docker, vous pouvez « forcer » l’ancienne version à revenir dans votre système. Pour cela, créez un Dockerfile personnalisé qui installe spécifiquement pdf-parse version 1.1.1. Cela trompe effectivement le Document Loader en lui faisant croire que l’environnement est correct pour qu’il puisse fonctionner à nouveau.

FROM docker.n8n.io/n8nio/n8n:2.20.9

USER root
RUN npm install -g pdf-parse@1.1.1
USER node

Remarque : Vous devez construire et exécuter cette image à la place de celle par défaut.

Pour une solution de contournement plus fiable à long terme, vous pouvez ignorer complètement le nœud « Document Loader ». Utilisez plutôt un « Code Node » pour extraire le texte de votre PDF manuellement. En activant un paramètre spécifique dans vos variables d’environnement, vous pouvez dire à n8n de laisser le Code Node gérer le PDF directement, en contournant le lecteur défectueux et en remettant votre flux de travail en mouvement.

Faites-moi savoir si cela a été utile