Word-like编辑器

文章目录

Dsoframer (32位亲测可用)

开源免费,但是早已停止更新,而且不支持x64应用程序,虽然能注册成功,但是调用提示"未注册的类"。

LibreOfficeKit\ LibreOffice UNO

开源办公套件 LibreOffice的核心组件之一。

跨平台情况

可用于 Windows、Linux、macOS。

Windows下需要下载安装完整LibreOffice客户端。

收费情况

免费、开源。遵循MPL开源协议,源代码和编译库均可免费获取,无需支付任何授权费用。

下载安装

  1. 下载安装LibreOffice程序。
  2. 下载LibreOffice SDK。安装到LibreOffice同一目录。

https://www.libreoffice.org/download/download-libreoffice/
https://downloadarchive.documentfoundation.org/libreoffice/old/25.8.3.2/win/x86_64/

  1. 在SDK安装后的目录中双击运行setsdkenv_windows.bat,设置环境变量。
shell 复制代码
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.12.3
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x86'

 ******************************************************************
 *
 * SDK environment is prepared for Windows
 *
 * SDK = E:\Program Files\LibreOffice\sdk
 * Office = E:\Program Files\LibreOffice
 * Make = E:\MinGW\bin
 * Zip = E:\Program Files\UnxUtils\usr\local\wbin
 * cat = E:\Program Files\UnxUtils\usr\local\wbin
 * sed = E:\Program Files\UnxUtils\usr\local\wbin
 * C++ Compiler = E:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.42.34433\bin\Hostx64\x64
 * C# and VB.NET compilers = C:\Windows\Microsoft.NET\Framework64\v2.0.50727
 * Dotnet =
 * Java =
 * Special Output directory = E:\libreoffice25.8_sdk
 * Auto deployment = YES
 *
 ******************************************************************
  1. cppumaker生成SDK include包含文件。
shell 复制代码
"E:/Program Files/LibreOffice/sdk/bin/cppumaker.exe" -Gc -O "E:/Program Files/LibreOffice/sdk/include" "E:/Program Files/LibreOffice/program/types.rdb" "E:/Program Files/LibreOffice/program/types/offapi.rdb"

集成方案

方案1

用 QProcess 启动独立 LibreOffice 窗口并 setParent/winId "嵌入"在 Qt 窗口中(亲测可用)。

未解决问题:

多个word文档打开切换时,程序由于无法关闭上一文档导致卡死。

方案2:自绘UI

  1. 按官方说明编译或下载带 LibreOfficeKit 的 LibreOffice;引入头文件 LibreOfficeKit.hxx 等。
  2. 在 Qt 项目中通过 lok::Office::create() 初始化,再用 lok::Office::documentLoad() 打开 .docx
  3. 使用 lok::Document::paintTile() 把页面渲染到 QImage 或 OpenGL 纹理里,显示在控件中。
  4. 将鼠标/键盘事件转换为 lok::Document::postMouseEvent()/postKeyEvent(),以实现编辑。
  5. 监听回调 LibreOfficeKitCallback,处理文档变更、光标移动等。

方案三:LibreOffice ActiveX已废弃。

参考资料

libreofficekit
libreofficekit github
libreoffice开发文档

TX Text Control

介绍:

功能强大的文字处理控件,提供丰富的文档编辑功能,支持多种文档格式。

跨平台情况:

主要支持Windows平台,有.NET和ActiveX版本。

开发方案:

商业软件,需要购买许可证。

集成步骤:

1)购买并获取 TX Text Control SDK。

2)在 Windows上使用 QAxWidget嵌入ActiveX控件。

3)通过COM接口与控件交互。

参考资料:
TX Text Control Documentation
文字处理控件TX Text Control的使用

Microsoft Word的OLE/COM嵌入

简单介绍:

通过OLE技术将 Microsoft Word嵌入到应用程序中,提供完整的Word编辑体验。

跨平台情况:

仅限 Windows平台。且本地需安装 Microsoft Office应用程序。

收费情况:

需要安装 Microsoft Office,并拥有相应许可证。

集成步骤:

1)使用QAxWidget创建Word应用程序对象。

2)通过COM接口打开和编辑文档。

3)处理OLE容器的事件和布局。

基于Web方案

Quill(亲测可用)

轻量级富文本编辑器,API简洁。

跨平台情况

纯前端,跨平台。

收费情况

完全免费,BSD 3-Clause协议。

下载安装
  1. 安装node
  2. 安装quill
shell 复制代码
npm install quill
  1. 安装表格插件:
    原生不支持表格,需安装插件后方可使用。

PS:可能不支持复杂的Office文档格式(.docx,.xlsx等)的完整保真度编辑。

参考资料

官网

WebOffice控件

简单介绍:

基于Web的Office文档编辑控件,可在浏览器中实现Word、Excel等文档的编辑。

跨平台情况:

操作系统:

支持 Windows XP, Windows 2003, Windows Vista, Windows7, Windows8.1,Windows10及以上版本。其中包括32位的和64位的操作系统,支持最新的Win10操作系统32位和64位系统。

Office版本:

客户端电脑有Office、Wps或永中Office之一。支持Office2003、Office2007、Office2010、Office2013、Office2016、Office2019等(非Home版、非Student版、非精简版或绿色版)。支持Wps;支持永中Office。支持Office的32位和64位。

收费情况:

商业软件,需要购买授权。

不绑定项目、不绑定服务器、不限用户数以及不重复收费,WebOffice在服务端不运行特定程序和DLL,所以购买一套WebOffice控件授权可同时支持。

集成步骤:

1)在Qt中使用QWebEngineView嵌入浏览器。

2)加载WebOffice的HTML页面。

3)通过JavaScript与WebOffice交互。

PS:C++版无示例代码,有C#的示例代码,基于JS实现。

参考资料:
官方网站
WebOffice控件版本功能比较

ONLYOFFICE

简单介绍:

开源的在线文档编辑器,支持DOCX、ODT等格式,提供协作编辑功能。

跨平台情况:

支持Windows和Linux服务器部署。

收费情况:

开源版免费,商业版需要授权。

集成步骤:

1)部署ONLYOFFICE Document Server。

2)在Qt中使用QWebEngineView嵌入编辑器。

3)通过JavaScript API与Web编辑器交互。

4)涉及前端SDK、后端SDK、文档服务器三层架构。需要自建文档服务器。

参考资料:
官网
ONLYOFFICE开发者文档

Collabora Online

简单介绍:

基于LibreOffice的在线办公套件,提供文档编辑和协作功能。

跨平台情况:

支持Windows和Linux。

收费情况:

开源(AGPL协议),商业支持需付费。

集成步骤:

1)部署Collabora Online服务。

2)在Qt中使用QWebEngineView嵌入。

3)通过WOPI接口或REST API进行集成。

4)客户端-服务器架构:需要在 Linux专用服务器或 VM上安装 Collabora Online服务或使用docker。

参考资料:
官网

TinyMCE

简单介绍:

功能丰富的富文本编辑器,插件生态完善。可导出为DOCX。

跨平台情况:

纯前端,跨平台。

收费情况:

最少79美元/月 TinyMCE 2025定价

集成步骤:

1)在Qt中使用QWebEngineView嵌入。

2)加载TinyMCE编辑器。

3)通过JavaScript API与编辑器交互。

参考资料:
官网

CKEditor 5

简单介绍:

模块化富文本编辑器,模块化,可定制性强。

跨平台情况:

纯前端,跨平台。

收费情况:

144美元/月 CKEditor&add-ons pricing-Choose a plan or craft your own flexible offer

集成步骤:

1)在Qt中使用QWebEngineView嵌入。

2)加载CKEditor编辑器。

3)通过JavaScript API与编辑器交互。

参考资料:
官网

WebOffice控件

特点:国内产品,中文支持较好

功能:支持Word、Excel、PPT;图片、表格;与数据库集成

平台:Windows/Linux

集成:提供JavaScript API

许可证:商业授权
官网:https://www.officectrl.com

GroupDocs.Editor

特点:多格式支持(DOCX、ODT、RTF、HTML等)

功能:编辑、转换、导出;图片、表格

平台:.NET、Java、Node.js(Windows/Linux)

集成:提供多种语言SDK

许可证:商业授权
官网:https://products.groupdocs.com/editor

UEditor

独立/一体化

百度出品,功能丰富,开箱即用,中文文档友好

支持

支持

内置支持

WangEditor

独立/轻量级

国产,TypeScript开发,轻量简洁,开源免费

支持

支持

需自定义开发

Slate.js

框架(React)

非成品,是可深度定制的框架,用于构建复杂编辑器

可定制

可定制

可定制

Tiptap

框架(Vue/React)

基于Prosemirror,无渲染架构, Vue/React集成佳

可定制

可定制

可定制

Froala Editor

功能:富文本编辑器,界面简洁,支持图片、表格

集成方式:JavaScript SDK,可通过 Qt WebEngine嵌入

跨平台:支持 Windows、Linux

收费情况:

商业许可:约$199/域名/年

多域名许可:约499-999/年

企业版:需联系销售

Summernote

功能:轻量级富文本编辑器,支持图片、表格

集成方式:JavaScript SDK,可通过 Qt WebEngine嵌入

跨平台:支持 Windows、Linux

收费情况:

完全免费(MIT),可用于商业项目

腾讯文档开放平台

功能:在线文档编辑,支持图片、表格、协作

集成方式:提供API和SDK

跨平台:支持 Windows、Linux

收费情况:

基础版:免费(有限制)

企业版:需联系销售,按用户数或调用量计费

飞书文档开放平台

功能:在线文档编辑,支持图片、表格、协作

集成方式:提供API和SDK

跨平台:支持 Windows、Linux

收费情况:

基础版:免费(有限制)

企业版:需联系销售,按用户数或调用量计费

金山文档 API

功能:在线文档编辑,支持图片、表格

集成方式:提供API和SDK

跨平台:支持 Windows、Linux

收费情况:

需联系销售获取报价

石墨文档API

功能:在线文档编辑,支持图片、表格、协作

集成方式:提供API和SDK

跨平台:支持 Windows、Linux

收费情况:

基础版:免费(有限制)

企业版:需联系销售

其它技术

Fastreport

HTML

三、附录

1、文本编辑器:

1.1 wxMEdit
wxMEdit-跨平台文本与十六进制编辑器-开源软件

跨平台的文本/十六进制编辑器。

1.2 QScintilla

2、其它语言富文本编辑器:

2.1 TRichEdit

官方网站: Resources for TRichView: Additional Delphi Components, Actions,Spell-Checkers, Reporting Tools\](官方网站: Resources for TRichView: Additional Delphi Components, Actions,Spell-Checkers, Reporting Tools) 用 Delphi编写,不需要外部 DLL或 ActiveX文件。 3、无交互界面 3.1 KD Reports 基于Qt的报表生成库,支持创建复杂的、数据驱动的报表,适用于商业应用、数据可视化等场景。它提供灵活的布局设计、表格生成、图表嵌入等功能,并支持导出为PDF、HTML等格式。 \[KD Reports\| KDAB\](KD Reports\| KDAB) 可显示渲染,但不可编辑。 收费情况:开源。 4.5 DuckX 4.6 Docx [lpxxn/docx:qt office word lib](https://github.com/lpxxn/docx) QAxWidget/QAxObject(Windows平台) QtWebEngine+Web Office解决方案 ### Aspose.Words for C++ 定价:$5037/永久 [定价信息 \| Aspose.Words Product Family](https://purchase.aspose.com/pricing/zh/words/family/) ### open-editor ### Rtdui ### WYSIWYG富文本编辑器 ### 本地word-like Office #### 永中Office 个人版、移动版和Linux版是免费且无任何广告的,专业版可以免费试用1年。 另外永中Office还支持定制开发。 #### LibreOffice #### OpenOffice Apache OpenOffice和 LibreOffice都是OpenOffice.org的现代衍生产品。 [OpenOffice_oldmtn的博客-CSDN博客](https://blog.csdn.net/oldmtn/category_1348116.html) ### Qt集成方案 #### 方案一:Qt WebEngine 基于Chromium,支持现代Web技术 支持Windows、Linux 可嵌入上述Web编辑器 支持剪贴板操作(复制/粘贴) #### 方案二:CEF(Chromium Embedded Framework) 功能更完整,可完全控制浏览器行为 支持Windows、Linux 需要额外集成工作

相关推荐
神码编程2 小时前
【Unity】 HTFramework框架(六十八)StringEditor字符串复杂编辑器
unity·编辑器·游戏引擎·htframework
开始了码2 小时前
QT::对话框:颜色对话框2
qt
穆雄雄3 小时前
Qt-for-鸿蒙PC Slider 组件开源鸿蒙开发实践
qt·开源·harmonyos
zyplayer-doc5 小时前
升级表格编辑器,AI客服应用支持转人工客服,AI问答风格与性能优化,zyplayer-doc 2.5.6 发布啦!
人工智能·编辑器·飞书·开源软件·创业创新·有道云笔记
国服第二切图仔12 小时前
Qt-for-鸿蒙PC-多线程绘制开源鸿蒙开发实践
qt·开源·鸿蒙pc
国服第二切图仔14 小时前
Qt-for-鸿蒙PC-CheckBox开源鸿蒙开发实践
qt·开源·鸿蒙pc
喵个咪16 小时前
Qt 优雅实现线程安全单例模式(模板化 + 自动清理)
c++·后端·qt
离离茶21 小时前
【笔记1-8】Qt bug记录:QListWidget窗口的浏览模式切换为ListMode后,滚轮滚动速度变慢
笔记·qt·bug
胖咕噜的稞达鸭21 小时前
包管理器,yum工具,vim编辑器常见指令,解决sudo权限问题,Linux项目自动化构建工具-make/Makefile
linux·编辑器·vim