docx-editor
Безкоштовний редактор документів
WYSIWYG-редактор документів на базі ІІ-агентів, що використовує специфікацію Office Open XML (OOXML) як модель даних для точного розбору та обробки документів Word без втрати стилів.
Основні особливості та переваги
ІІ-асистент та агенти
Глубока інтеграція з ІІ для допомоги у написанні тексту з урахуванням контексту, автопродовження тексту, виправлення граматики, створення резюме та автоматичної генерації структурованих документів.
Рідна модель даних OOXML
Жодних втрат при конвертації «Word -> HTML -> Word». Ми працюємо безпосередньо зі специфікацією Office Open XML, на 100% зіставляючи структуру документа Word, виключаючи спотворення стилів.
Робота повністю на стороні клієнта
Працює повністю в браузері, не вимагаючи налаштування або розгортання складних серверних рішень. Забезпечує миттєвий відгук, офлайн-режим та абсолютну безпеку конфіденційних даних.
Професійне редагування
Повноцінний WYSIWYG-досвід. Підтримка відстеження змін (Track Changes), коментарів із відповідями (Comments), складних таблиць та форматування, вставки зображень тощо.
Відкритий код та комерційна ліцензія
Ліцензія Apache 2.0: повністю безкоштовно та підходить для комерційного використання. Ви можете змінювати код без необхідності відкривати вихідний код вашої системи.
Розширювана плагінна архітектура
Модульний дизайн із гнучкою системою плагінів. Розробники можуть легко налаштовувати панель інструментів, розширювати команди редактора та перехоплювати ключові події редагування.
Типові сценарії використання
Власний ІИ-редактор документів
Використовуючи можливості docx-editor, компанії могут швидко розгорнути власну ІІ-систему для спільної роботи над текстами. Інтеграція з локальними LLM гарантує повну конфіденційність.
Глубока інтеграція з базами знань (RAG)
Інтеграція з внутрішніми корпоративними базами знань та глосаріями дозволяє виконувати семантивний пошук прямо в процесі редагування, пропонуючи розумну перевірку та рекомендації термінів.
Комерційні документи та договори
Швидке складання та точна звірка договорів. Завдяки 100% сумісності з форматом OOXML, ІІ може виявляти ризики в договорах, скорочуючи час узгодження.
Чому це найкращий вибір для створення ІІ-редактора?
При виборі редактора документів для інтеграції ІІ архітектура має вирішальне значення. Завдяки унікальній структурі, docx-editor вирішує проблеми сумісності та швидкості розробки.
Швидка розробка та впровадження
Готові адаптери для React та Vue 3. Розробникам не потрібно витрачати час на вивчення движка рендерингу — впровадження редагування Word та спільної роботи з ІІ займе лічені дні.
Кросплатформна інтеграція
Побудований на стандартних веб-технологіях. Один компонент інтегрується у веб-версії для ПК та мобільних пристроїв (з підтримкою жестів), а також у нативні додатки через WebView/Electron.
Безшовна сумісність із Word
Використання стандартного двійкового формату DOCX виключає спотворення при конвертації. Повна відповідність з Microsoft Word гарантує звичний інтерфейс.
Глубоке управління розміткою
На відміну від простих чат-ботів, ІІ-асистент може безпосередньо через API керувати розміткою документа: стилями, рівнями списів, об'єднанням осередків та відступами.
Редагування в реальному часі
docx-editor містить вбудовану інтеграцію з Yjs (модель даних CRDT), що дозволяє кільком користувачам редагувати один файл Word одночасно:
- Відображення курсорів та виділень інших користувачів у реальному часі
- Вирішення конфліктів на базі CRDT без блокування файлів для підтримки офлайн-роботи
- Гнучкі конектори для легкого підключення через WebSockets, WebRTC або власні шлюзи
Серверний Headless-режим без DOM
Архітектура розділяє ядро та інтерфейс, дозволяя працювати з документами Word в середовищі Node.js або CLI без браузера:
- Пакетне заповнення шаблонів змінними та генерація звітів на сервере
- Не вимагає віртуального браузера (наприклад, Puppeteer/JSDOM), забезпечуючи високу швидкість
- Розширення плагінами для швидкого рендерингу документів з CLI або бекенду
Порівняння з аналогами
Порівняння ключових відмінностей між docx-editor та аналогічним редактором SuperDoc:
| Критерій | docx-editor | SuperDoc |
|---|---|---|
| Ліцензія (комерційний поріг) |
Apache 2.0 (дуже вільна)
Повністю безкоштовно для комерції. Модифікація коду не зобов'язує відкривати вихідний код вашого ПЗ, 0 ризиків та витрат на ліцензії. |
AGPL 3.0 (сувора ліцензія)
При наданні послуг через мережу потрібно відкривати весь код системи. Для закритого використання потрібна платна ліцензія. |
| Підтримка CJK (введення азіатських мов) |
Повна адапція введення CJK
Оптимизація обробки подій клавіатури IME для китайської, японської та корейської мов гарантує плавність введення без збоїв. |
Незадовільно (критичні баги)
Через неповну обробку Composition-подій часто виникають подвоєння символів та збої курсору при введенні азіатських мов. |
| Стабільність та готовність |
Висока зрілість
Вбудована спільна робота на Yjs, повне розділення ядра та UI, стабільність перевірена на реальних проектах. |
В процесі розробки
Деякі розширені функції розмітки експериментальні, потрібне доопрацювання стабільності. |
Швидка інтеграція в проект
1. Встановлення адаптера React та залежностей
# Встановлення останньої стабільної версії адаптера React
npm install @eigenpal/docx-editor-react
2. Імпорт та конфігурація в компоненті
import React, { useState } from 'react';
import { DocxEditor } from '@eigenpal/docx-editor-react';
// Імпорт стилів панелі інструментів та області редагування
import '@eigenpal/docx-editor-react/styles.css';
function DocumentWorkspace() {
const [docBuffer, setDocBuffer] = useState(null);
const handleSave = (updatedBuffer) => {
// updatedBuffer — це оновлені двійкові дані Word (ArrayBuffer)
console.log('Оновлення документа:', updatedBuffer);
};
return (
<div style={{ height: '80vh', border: '1px solid rgba(255,255,255,0.08)' }}>
<DocxEditor
documentBuffer={docBuffer}
onSave={handleSave}
/>
</div>
);
}
export default DocumentWorkspace;
1. Встановлення адаптера Vue 3 та залежностей
# Встановлення пакета, створеного спеціально для Vue 3
npm install @eigenpal/docx-editor-vue
2. Створення компонента Vue
<template>
<div class="editor-container">
<DocxEditor
:documentBuffer="docBuffer"
@save="handleSave"
/>
</div>
/<template>
<script setup>
import { ref } from 'vue';
import { DocxEditor } from '@eigenpal/docx-editor-vue';
// Імпорт файлу CSS для коректного відображення інтерфейсу
import '@eigenpal/docx-editor-vue/styles.css';
const docBuffer = ref(null);
const handleSave = (updatedBuffer) => {
// Перехоплення даних ArrayBuffer для збереження на сервері чи локально
console.log('Оновлення документа у Vue:', updatedBuffer);
};
</script>
<style scoped>
.editor-container {
height: 80vh;
border: 1px solid rgba(255, 255, 255, 0.08);
}
</style>