UNPKG

n8n-nodes-docxtotext

Version:

n8n node to convert DOCX files to text using mammoth

114 lines (88 loc) 2.73 kB
# DOCX to Text Node for n8n ![Node Version](https://img.shields.io/badge/Node%20version-14.x%20%7C%2016.x%20%7C%2018.x-blue) ![n8n Version](https://img.shields.io/badge/n8n-%3E%3D%200.198.0-blue) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) An n8n node that converts DOCX files to plain text using the [mammoth](https://www.npmjs.com/package/mammoth) library. ## Features - Convert DOCX files to formatted text - Preserve basic formatting (bold, italics, etc.) - Option to include the original filename in the output - Simple and easy to use ## Installation ### In n8n 1. Go to **Settings** > **Community Nodes** 2. Click on **Install** 3. Enter the npm package name: `n8n-nodes-docxtotext` 4. Click **Install** 5. Restart n8n ### Manual Installation 1. In your n8n root directory, run: ```bash npm install n8n-nodes-docxtotext ``` 2. Restart n8n ## Usage 1. Add the **DOCX to Text** node to your workflow 2. Connect it to a node that provides a DOCX file (e.g., **Read Binary File** or **HTTP Request**) 3. Configure the node: - **Binary Property**: The name of the binary property containing the DOCX file (default: `data`) - **Options** > **Include Filename**: Whether to include the original filename in the output 4. The node will output an object containing: - `text`: The extracted text content - `messages`: Any messages from the conversion process - `filename`: The filename without the extension (if enabled in options) - `fileExtension`: The file extension in lowercase (if available and enabled in options) ## Example ### Input A DOCX file with the following content: ``` Hello World! This is a test document. ``` ### Output ```json { "text": "Hello World!\nThis is a test document.", "messages": [], "filename": "example", "fileExtension": "docx" } ``` ## Development ### Prerequisites - Node.js (v14.x, v16.x, or v18.x) - npm (v6.x or later) - n8n (v0.198.0 or later) ### Setup 1. Clone the repository 2. Install dependencies: ```bash npm install ``` 3. Build the project: ```bash npm run build ``` 4. Link the package for local development: ```bash npm link ``` 5. In your n8n directory, link the package: ```bash npm link n8n-nodes-docxtotext ``` 6. Restart n8n ### Testing 1. Run the linter: ```bash npm run lint ``` 2. Build the project: ```bash npm run build ``` ## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ## Acknowledgments - [mammoth.js](https://github.com/mwilliamson/mammoth.js) - Used for DOCX to text conversion - [n8n](https://n8n.io/) - Workflow automation tool