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

QAxWidget/QAxObject(Windows平台)

QtWebEngine+Web Office解决方案

Aspose.Words for C++

定价:$5037/永久 定价信息 | Aspose.Words Product Family

open-editor

https://github.com/SignitDoc/open-editor

Rtdui

https://rtdui.com/getting-started

WYSIWYG富文本编辑器

本地word-like Office

永中Office

个人版、移动版和Linux版是免费且无任何广告的,专业版可以免费试用1年。

另外永中Office还支持定制开发。

LibreOffice

OpenOffice

Apache OpenOffice和 LibreOffice都是OpenOffice.org的现代衍生产品。
OpenOffice_oldmtn的博客-CSDN博客

Qt集成方案

方案一:Qt WebEngine

基于Chromium,支持现代Web技术

支持Windows、Linux

可嵌入上述Web编辑器

支持剪贴板操作(复制/粘贴)

方案二:CEF(Chromium Embedded Framework)

功能更完整,可完全控制浏览器行为

支持Windows、Linux

需要额外集成工作

相关推荐
用户805533698032 天前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
xcyxiner2 天前
DicomViewer (vcpkg Windows和ubuntu编译)7
qt
Quz7 天前
QML Hello World 入门示例
qt
xcyxiner10 天前
DicomViewer (dcmtk读取dcm文件)5
qt
xcyxiner10 天前
DicomViewer (后台线程处理文件)4
qt
xcyxiner11 天前
DicomViewer (添加模型类)3
qt
xcyxiner11 天前
DicomViewer (目录调整) 2
qt
xcyxiner12 天前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
VidDown13 天前
VidDown 工具站:免费、本地优先的开发者工具箱
javascript·编辑器·音视频·视频编解码·视频
桥田智能13 天前
桥田智能 QT-650S:面向白车身焊装的 800kg 重载快换解决方案
开发语言·qt·系统架构