Erro "DOMMatrix is not defined" ao usar Default Data Loader com PDF

Descreva o problema/erro/pergunta

Ao usar o nó Default Data Loader para carregar um arquivo PDF binário, a execução falha com o seguinte erro:

"errorMessage": "DOMMatrix is not defined",
"errorDescription": "DOMMatrix is not defined"

Os seguintes avisos também são registrados no contêiner:

Warning: Cannot load "@napi-rs/canvas" package: "Error: Failed to load native binding".
Warning: Cannot polyfill `DOMMatrix`, rendering may be broken.
Warning: Cannot polyfill `ImageData`, rendering may be broken.
Warning: Cannot polyfill `Path2D`, rendering may be broken.

Passos para reproduzir

  1. Configure um fluxo de trabalho com uma fonte PDF binária (por exemplo, Google Drive, Webhook, nó Form).
  2. Conecte a saída binária a um nó Default Data Loader com Type of Data definido como Binary.
  3. Execute o fluxo de trabalho.

Comportamento esperado

O Default Data Loader deve analisar com sucesso o PDF e passar o conteúdo para o próximo nó.

Comportamento atual

O nó falha com DOMMatrix is not defined. O pacote @napi-rs/canvas não pode ser carregado, impedindo que pdfjs-dist faça o polyfill das APIs nativas do navegador necessárias.

Informações sobre sua configuração n8n

  • Versão n8n: 2.25.7 (Auto-hospedado)
  • Executando n8n via: Docker
  • Modo de dados binários: filesystem

Contexto adicional

Este problema parece ter sido introduzido na v1.98.0 quando pdfjs-dist foi atualizado para uma versão que depende de APIs nativas do navegador não disponíveis em ambientes de servidor Node.js. Foi reportado por vários usuários em versões anteriores e parece persistir na v2.25.7.

Qual é a mensagem de erro (se houver)?

Por favor, compartilhe seu fluxo de trabalho

Compartilhe a saída retornada pelo último nó

Informações sobre sua configuração n8n

  • Versão n8n:
  • Banco de dados (padrão: SQLite):
  • Configuração EXECUTIONS_PROCESS do n8n (padrão: own, main):
  • Executando n8n via (Docker, npm, n8n cloud, aplicativo desktop):
  • Sistema operacional:

Acho que a gente já olhou exatamente isso hoje.

Tenta a versão beta mais recente que resolveu pra gente.

Enquanto aguarda o teste beta @menouaw, existe uma solução alternativa confiável que foi confirmada nos threads relacionados a “DOMMatrix is not defined”: converta o PDF para texto antes do Default Data Loader usando um nó Extract from File (operação: “PDF”) no início da cadeia — isso sozinho não é suficiente, pois atinge o mesmo caminho pdfjs-dist/@napi-rs/canvas.

Bem-vindo @menouaw!

A correção na versão beta mais recente é o caminho certo para longo prazo (sugestão do BramKn). Como solução temporária enquanto você estiver na versão estável: use um nó HTTP Request para chamar uma API externa de PDF para texto (como Docparser, Reducto ou qualquer endpoint Tika/Unstructured auto-hospedado) em vez do Data Loader padrão. Dessa forma seu texto em PDF chega como JSON puro sem passar pelo caminho pdfjs + @napi-rs/canvas que está causando o crash. Alternativamente, se sua imagem Docker estiver construída no Alpine, as ligações nativas ausentes geralmente são corrigidas ao mudar para n8nio/n8n:latest (baseado em Debian) em vez da variante Alpine.