我正在使用 HTTP request 節點來取得 PDF 檔案,然後使用 Extract from file 節點從 PDF 檔案中提取資料。之前一切運作正常,但現在我收到「DOMMatrix is not defined」錯誤。測試工作流程時,來自

描述問題/錯誤/問題

錯誤訊息是什麼(如有的話)?

請分享您的工作流程

(選取畫布上的節點,使用鍵盤快捷鍵 CMD+C/CTRL+C 和 CMD+V/CTRL+V 複製並貼上工作流程。)

分享最後一個節點傳回的輸出

關於您的 n8n 設定的資訊

  • n8n 版本:
  • 資料庫(預設:SQLite):
  • n8n EXECUTIONS_PROCESS 設定(預設:own, main):
  • 透過以下方式執行 n8n(Docker、npm、n8n cloud、桌面應用程式):
  • 作業系統:

@Farman_Aliyev 已知的回歸問題 — n8n 的 Extract from File 節點使用 pdfjs-dist,從 1.98 版本開始需要瀏覽器 API(如 DOMMatrix),但在 Node 中無法使用。GitHub 上有多個相關問題 (#16593、#16438、#16422)。無需降級的解決方法:改用 Code 節點搭配 pdf-parse npm 套件。在環境變數中設定 NODE_FUNCTION_ALLOW_EXTERNAL=pdf-parse,在 Code 節點中從二進位檔案提取文字,這樣就不需要瀏覽器 API 依賴。你用的 n8n 版本是多少?是自託管還是雲端?

歡迎 @Farman_Aliyev

achamm 說得沒錯 - 這是一個已知的回歸問題。以下是您可以直接替換「從檔案中提取」節點的具體程式碼節點:

const pdfParse = require('pdf-parse');
const binaryKey = Object.keys(items[0].binary)[0]; // gets the first binary field
const buffer = Buffer.from(items[0].binary[binaryKey].data, 'base64');
const result = await pdfParse(buffer);
return [{ json: { text: result.text } }];

另外,請先將 NODE_FUNCTION_ALLOW_EXTERNAL=pdf-parse 新增到您的環境變數中。適用於自託管和雲端版本。

更新你的 n8n 實例(建議)

這個錯誤已在 n8n 社群和開發者流程中被標記。如果你執行的是較舊版本或特定損壞的 n8n 版本,更新到最新版本或將 Docker 映像固定到最新穩定版本通常會解決此問題,因為針對像這樣的節點當機會快速推出補丁。

如果更新解決了此問題,請告訴我。