描述問題/錯誤/問題
錯誤訊息是什麼(如有的話)?
請分享您的工作流程
(選取畫布上的節點,使用鍵盤快捷鍵 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 新增到您的環境變數中。適用於自託管和雲端版本。