eigenpal/docx-editor
GitHub: eigenpal/docx-editor
一款面向 React/Vue 的开源在线 .docx 编辑器库,提供所见即所得编辑、修订跟踪、实时协作及 AI 代理集成能力。
Stars: 963 | Forks: 110
面向 React 和 Vue 的开源所见即所得 `.docx` 编辑器,支持规范的 OOXML、修订跟踪和实时协作。**Agent-Ready**。**[实时演示](https://docx-editor.dev/editor)** | **[文档](https://www.docx-editor.dev/docs)**
## 快速开始
```
npm install @eigenpal/docx-editor-react
```
参见下方的 [React 快速开始](#react)。
```
npm install @eigenpal/docx-editor-vue
```
参见下方的 [Vue 快速开始](#vue)。
```
npm install @eigenpal/nuxt-docx-editor
```
参见下方的 [Nuxt 快速开始](#nuxt)。
## 软件包
| 软件包 | 描述 | 文档 |
| ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| [`@eigenpal/docx-editor-react`](https://www.npmjs.com/package/@eigenpal/docx-editor-react) |
React 适配器。工具栏、分页编辑器、插件。 | [文档](https://www.docx-editor.dev/docs/1.x/react) |
| [`@eigenpal/docx-editor-vue`](https://www.npmjs.com/package/@eigenpal/docx-editor-vue) |
Vue 3 适配器。工具栏、分页编辑器、插件。 | [文档](https://www.docx-editor.dev/docs/1.x/vue) |
| [`@eigenpal/nuxt-docx-editor`](https://www.npmjs.com/package/@eigenpal/nuxt-docx-editor) |
封装 Vue 适配器的 Nuxt 3 & 4 模块。 | [文档](https://www.docx-editor.dev/docs/1.x/vue/nuxt) |
| [`@eigenpal/docx-editor-core`](https://www.npmjs.com/package/@eigenpal/docx-editor-core) | 框架无关的核心:OOXML 解析器、序列化器、布局引擎、ProseMirror schema。如果你 fork React 或 Vue 适配器,请依赖此包。 | [文档](https://www.docx-editor.dev/docs/1.x/core) |
| [`@eigenpal/docx-editor-i18n`](https://www.npmjs.com/package/@eigenpal/docx-editor-i18n) | 两个适配器共用的本地化字符串和类型。 | [文档](https://www.docx-editor.dev/docs/1.x/i18n) |
| [`@eigenpal/docx-editor-agents`](https://www.npmjs.com/package/@eigenpal/docx-editor-agents) | Agent SDK 和聊天 UI:框架无关的桥梁、MCP 服务器、AI SDK 适配器,以及 UI 组件。 | [文档](https://www.docx-editor.dev/docs/1.x/agents) |
## React
```
import { useState } from 'react';
import { DocxEditor } from '@eigenpal/docx-editor-react';
import '@eigenpal/docx-editor-react/styles.css';
export function App() {
const [buffer, setBuffer] = useState(null);
return (
<>
setBuffer((await e.target.files?.[0]?.arrayBuffer()) ?? null)}
/>
{buffer && }
>
);
}
```
完整文档:[`packages/react`](packages/react) · [API 参考](https://www.docx-editor.dev/docs/props)。
## Vue
```
```
完整文档:[`packages/vue`](packages/vue) · [API 参考](https://www.docx-editor.dev/docs/props)。
## Nuxt
```
// nuxt.config.ts
export default defineNuxtConfig({
modules: ['@eigenpal/nuxt-docx-editor'],
});
```
`@eigenpal/nuxt-docx-editor` 将 Vue 适配器封装为 Nuxt 3 & 4 模块:它会自动导入一个 SSR 安全的 `` 组件(无需手动导入,无需 `` 包裹)以及 Vue 的组合式函数。
完整文档:[`packages/nuxt`](packages/nuxt)。
## 插件
```
import { DocxEditor } from '@eigenpal/docx-editor-react';
import { PluginHost, templatePlugin } from '@eigenpal/docx-editor-react/plugin-api';
;
```
完整的插件 API 请参阅[插件文档](https://www.docx-editor.dev/docs/plugins)。
## 开发
```
bun install
bun run dev # localhost:5173
bun run build
bun run typecheck
```
`main` 分支的实时预览自动部署在 **[latest.docx-editor.dev](https://latest.docx-editor.dev/)** —— 在发布到 npm 之前测试更改非常有用。
示例:[Vite](examples/vite) | [Next.js](examples/nextjs) | [Remix](examples/remix) | [Astro](examples/astro) | [Vue](examples/vue) | [Nuxt](examples/nuxt)
**[文档](https://www.docx-editor.dev/docs)** | **[Props 与 Ref 方法](https://www.docx-editor.dev/docs/props)** | **[插件](https://www.docx-editor.dev/docs/plugins)** | **[架构](https://www.docx-editor.dev/docs/architecture)**
## 贡献
欢迎贡献。设置、测试以及一次性 CLA 签署请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。
## 翻译
| 区域设置 | 语言 |
| -------- | -------------------- |
| `en` | 英语 |
| `de` | 德语 |
| `pl` | 波兰语 |
| `pt-BR` | 葡萄牙语(巴西) |
| `tr` | 土耳其语 |
| `he` | 希伯来语 |
| `zh-CN` | 中文(简体) |
帮助将编辑器翻译成你的语言!请参阅完整的 **[国际化贡献指南](docs/i18n.md)**。
```
bun run i18n:new de # scaffold German locale
bun run i18n:status # check translation coverage
```
## 商业支持
标签:CMS安全, .docx处理, JavaScript, Nuxt集成, OOXML, React组件, Vue组件, Web编辑器, WYSIWYG编辑器, 前端库, 办公软件, 协作工具, 协作编辑, 在线文档, 实时协作, 客户端侧, 文档处理, 文档编辑, 编辑器库, 自动化攻击, 追踪更改