
syncfusion/word-processor-serverSyncfusion Word Processor(又称Document Editor) 是一款具备类似Microsoft Word编辑能力的组件,用于创建、编辑、查看和打印Word文档。本Docker镜像是Syncfusion Word Processor后端功能的预定义容器,基于ASP.NET Core 8.0构建,提供文档编辑所需的服务器端Web API服务。该镜像支持快速部署到基础设施,也可通过参考Word Processor Docker项目进行功能扩展或自定义。
Word Processor组件支持以下前端开发平台集成:
适用于需要集成专业Word文档编辑功能的Web应用场景,包括:
该镜像适合部署在各类Web应用后端,满足从中小企业内部系统到大型互联网应用的文档处理需求。
环境中需安装Docker:
Docker for WindowsDocker for Mac从Docker Hub拉取word-processor-server镜像:
consoledocker pull syncfusion/word-processor-server
在文件系统中创建包含以下内容的docker-compose.yml文件:
yamlversion: '3.4' services: word-processor-server: image: syncfusion/word-processor-server:latest environment: # 提供激活所需的许可证密钥 SYNCFUSION_LICENSE_KEY: YOUR_LICENSE_KEY ports: - "6002:80"
注意:Word Processor是商业产品,生产环境使用需有效的许可证密钥。请将
YOUR_LICENSE_KEY替换为实际许可证密钥。
在终端中导航至docker-compose.yml文件所在目录,执行以下命令启动服务:
consoledocker-compose up
服务启动后,Word Processor服务器将在本地运行,访问地址为http://localhost:6002。在浏览器中访问http://localhost:6002/api/documenteditor可查看默认API响应。
在客户端Word Processor控件中配置serviceUrl为Docker实例的API地址。以下是HTML客户端集成示例:
html<!DOCTYPE html> <html xmlns="[***]"> <head> <title>Essential JS 2</title> <!-- EJ2 Document Editor依赖的material主题 --> <link href="resources/base/styles/material.css" rel="stylesheet" type="text/css" rel='nofollow' /> <link href="resources/buttons/styles/material.css" rel="stylesheet" type="text/css" rel='nofollow' /> <link href="resources/inputs/styles/material.css" rel="stylesheet" type="text/css" rel='nofollow' /> <link href="resources/popups/styles/material.css" rel="stylesheet" type="text/css" rel='nofollow' /> <link href="resources/lists/styles/material.css" rel="stylesheet" type="text/css" rel='nofollow' /> <link href="resources/navigations/styles/material.css" rel="stylesheet" type="text/css" rel='nofollow' /> <link href="resources/splitbuttons/styles/material.css" rel="stylesheet" type="text/css" rel='nofollow' /> <link href="resources/dropdowns/styles/material.css" rel="stylesheet" type="text/css" rel='nofollow' /> <!-- EJ2 DocumentEditor material主题 --> <link href="resources/documenteditor/styles/material.css" rel="stylesheet" type="text/css" rel='nofollow' /> <!-- EJ2 Document Editor依赖脚本 --> <script src="resources/scripts/ej2-base.min.js" type="text/javascript"></script> <script src="resources/scripts/ej2-data.min.js" type="text/javascript"></script> <script src="resources/scripts/ej2-svg-base.min.js" type="text/javascript"></script> <script src="resources/scripts/ej2-file-utils.min.js" type="text/javascript"></script> <script src="resources/scripts/ej2-compression.min.js" type="text/javascript"></script> <script src="resources/scripts/ej2-pdf-export.min.js" type="text/javascript"></script> <script src="resources/scripts/ej2-buttons.min.js" type="text/javascript"></script> <script src="resources/scripts/ej2-popups.min.js" type="text/javascript"></script> <script src="resources/scripts/ej2-splitbuttons.min.js" type="text/javascript"></script> <script src="resources/scripts/ej2-inputs.min.js" type="text/javascript"></script> <script src="resources/scripts/ej2-lists.min.js" type="text/javascript"></script> <script src="resources/scripts/ej2-navigations.min.js" type="text/javascript"></script> <script src="resources/scripts/ej2-dropdowns.min.js" type="text/javascript"></script> <script src="resources/scripts/ej2-calendars.min.js" type="text/javascript"></script> <script src="resources/scripts/ej2-charts.min.js" type="text/javascript"></script> <script src="resources/scripts/ej2-office-chart.min.js" type="text/javascript"></script> <!-- EJ2 Document Editor脚本 --> <script src="resources/scripts/ej2-documenteditor.min.js" type="text/javascript"></script> </head> <body> <!-- 渲染容器元素 --> <div id='DocumentEditor' style='height:620px'></div> <script> // 初始化DocumentEditorContainer组件 var documenteditorContainer = new ej.documenteditor.DocumentEditorContainer({ enableToolbar: true }); ej.documenteditor.DocumentEditorContainer.Inject(ej.documenteditor.Toolbar); // 配置后端服务地址 documenteditorContainer.serviceUrl = "http://localhost:6002/api/documenteditor"; // 渲染控件 documenteditorContainer.appendTo('#DocumentEditor'); </script> </body> </html>
通过volumes声明将本地词典目录挂载到容器内指定路径,实现自定义拼写检查词典。以下配置将本地./data目录挂载到容器内/app/data目录:
yamlversion: '3.4' services: word-processor-server: image: syncfusion/word-processor-server:latest environment: SYNCFUSION_LICENSE_KEY: YOUR_LICENSE_KEY # 配置词典目录路径(相对于容器内/app目录) SPELLCHECK_DICTIONARY_PATH: data volumes: - ./data:/app/data # 本地目录:容器内目录 ports: - "6002:80"
目录结构说明:本地目录
./data需与docker-compose.yml文件同级,结构如下:父目录/ ├── docker-compose.yml └── data/ # 本地词典目录 ├── en_US.dic # 词典文件 ├── en_US.aff # 词缀文件 ├── customDict.dic # 个人词典 └── spellcheck.json # 配置文件
容器默认资源目录/app/Data包含基础资源文件,可从GitHub获取默认文件。
在./data目录中需包含以下文件:
JSON配置文件格式示例:
json[ { "LanguadeID": 1033, // 语言ID(1033对应英语-美国) "DictionaryPath": "en_US.dic", // 词典文件路径 "AffixPath": "en_US.aff", // 词缀文件路径 "PersonalDictPath": "customDict.dic" // 个人词典路径 }, { "LanguadeID": 1036, // 语言ID(1036对应法语-法国) "DictionaryPath": "fr_FR.dic", "AffixPath": "fr_FR.aff", "PersonalDictPath": "customDict.dic" } ]
通过环境变量可调整拼写检查行为:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| SPELLCHECK_CACHE_COUNT | 内存中缓存的词典数量 | 1 |
| SPELLCHECK_JSON_FILENAME | 自定义词典配置文件名 | spellcheck.json |
完整配置示例:
yamlversion: '3.4' services: word-processor-server: image: syncfusion/word-processor-server:latest environment: SYNCFUSION_LICENSE_KEY: YOUR_LICENSE_KEY SPELLCHECK_DICTIONARY_PATH: data SPELLCHECK_CACHE_COUNT: 2 # 缓存2个词典 SPELLCHECK_JSON_FILENAME: custom-spellcheck.json # 自定义配置文件名 volumes: - ./data:/app/data ports: - "6002:80"
| 环境变量名称 | 描述 | 必需 |
|---|---|---|
| SYNCFUSION_LICENSE_KEY | 产品激活许可证密钥 | 是(生产环境) |
| SPELLCHECK_DICTIONARY_PATH | 拼写检查词典目录路径(相对于/app) | 否 |
| SPELLCHECK_CACHE_COUNT | 内存缓存词典数量 | 否 |
| SPELLCHECK_JSON_FILENAME | 词典配置文件名 | 否 |
各平台Word Processor组件入门指南:


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务