Delphi、C++ Builder 和 .NET sgcUI 的一部分

sgcRichEdit,适用于 Delphi、C++ Builder 和 .NET 的富文本文档编辑器

让用户在您自己的应用程序中使用文字处理器。sgcRichEdit 可编辑带有样式、列表、表格、图片和链接的文档,读写 JSON、HTML、Markdown 和 RTF,并导出 DOCX、PDF 和 PNG 页面。同一个文档模型驱动 VCL、FireMonkey、WinForms、WPF 和 Avalonia 控件,并且无需窗口即可渲染,在 Linux64 上同样如此。

JSON、HTML、Markdown 和 RTF 的读写导出 DOCX、PDF 和 PNGVCL、FMX、WinForms、WPF 和 Avalonia包含在 sgcUI Enterprise 中
// open a Word RTF file, save it in every format
sgcVCLRichEdit1.LoadFromFile('contract.rtf');
sgcVCLRichEdit1.SaveToFile('contract.html', refHTML);
sgcVCLRichEdit1.SaveToFile('contract.md', refMarkdown);
sgcVCLRichEdit1.SaveToFile('contract.docx', refDOCX);
sgcVCLRichEdit1.ExportToPDF('contract.pdf');
sgcVCLRichEdit1.ExportToPNG('page1.png', 0, 150);

文档编辑器所需的一切

以下是主要亮点。功能矩阵列出了全部功能,并将 sgcRichEdit 与其他富文本编辑器进行了比较。

编写文档

结构化的文档模型,具备用户在文字处理器中期望的各项能力。

编写文档

样式、列表、表格、图片和链接

当用户撰写合同、报告或信函,并要求每次外观完全一致时,普通的富文本框是不够的。sgcRichEdit 保存的是真正的文档:带有命名样式的段落、多级列表、表格、内嵌图片和超链接。格式由样式链加直接格式组成,因此修改“标题 1”样式,就会同时改变所有标题。

  • 内置样式:正文、标题 1 到 6、标题、副标题、引用、代码、列表段落、超链接和表格网格
  • 9 级列表:项目符号、数字、字母和罗马数字
  • 表格支持跨列和跨行合并单元格、标题行、边框、背景和嵌套表格
  • 内嵌图片和超链接,支持 Ctrl+单击和 OnLinkClick 事件

编写文档

熟悉的编辑体验

用户会带着使用文字处理器的习惯而来。编辑器响应常用快捷键,保留完整的撤销和重做历史,并可在段落和表格单元格之间查找和替换文本。每条命令都可以通过 ExecuteCommand 和 CommandState 在代码中调用,也可以通过 VCL 和 FireMonkey 操作调用,因此工具栏或功能区会与所选内容保持同步。

  • 撤销和重做,输入内容按单词分组
  • Ctrl+B、Ctrl+I、Ctrl+U、对齐、标题、项目符号,Ctrl+K 插入链接
  • 查找和替换,包括正则表达式,全部替换算作一次撤销
  • FireMonkey 触摸模式:点按、双击选词、长按显示选择手柄

支持各种语言

输入法、双向文本和已翻译的用户界面。

支持各种语言

IME、从右到左和混合文本

日语、中文和韩语用户通过输入法编辑器 (IME) 输入,阿拉伯语和希伯来语用户从右向左书写,且同一句话中常常夹杂英文单词。sgcRichEdit 在光标处内联显示 IME 组合内容,并作为一次撤销步骤提交。双向段落会让光标和选区停留在读者期望的位置,每个段落都有各自的方向。

  • 日语、中文和韩语的内联 IME 组合输入
  • 从右到左的段落,以及同一行中阿拉伯语与英语混排
  • Ctrl+右 Shift 和 Ctrl+左 Shift 设置段落方向
  • 编辑器界面文本提供 12 种语言:英语、西班牙语、德语、法语、意大利语、葡萄牙语(巴西)、荷兰语、波兰语、土耳其语、日语、韩语和中文

交换文档

读写用户已有的各种格式。

交换文档

JSON、HTML、Markdown 和 RTF 的读写

文档可能是来自 Word 的 RTF,来自浏览器或电子邮件的 HTML,或来自开发工具的 Markdown。sgcRichEdit 可以读写所有这些格式,并保留自己的原生 JSON 格式,存储文档的每一个细节。LoadFromFile 会自动检测格式,SaveToFile 按您指定的格式保存,而 AsHTML、AsRTF 和 AsMarkdown 等属性则以字符串形式读写文档。

  • 来自 Word 的 RTF 保留文本、字体、颜色、段落格式、样式、列表、合并表格、超链接以及 PNG 和 JPEG 图片
  • HTML 读取器支持 CSS、表格以及 Word 和 Outlook 的列表提示
  • Markdown 支持标题、强调、代码、引用、列表、链接、图片、表格和删除线
  • 为 Word 导出 DOCX,并支持纯文本读写

交换文档

与 Word 和浏览器之间复制粘贴

复制时会把所选内容以 RTF、HTML 和纯文本放入剪贴板,因此粘贴到 Word、电子邮件或网页表单时会保留格式。粘贴时可接收来自 Word 和浏览器的 RTF 和 HTML,不需要格式时,可用 Ctrl+Shift+V 粘贴纯文本。

  • 剪贴板中的 RTF、HTML 和纯文本
  • 从 Word、浏览器和其他 sgcRichEdit 控件粘贴
  • 使用 Ctrl+Shift+V 粘贴纯文本

打印、导出和无障碍访问

同一份文档可输出为纸张、PDF、图片,并供屏幕阅读器使用。

打印、导出和无障碍访问

打印、预览、PDF 和 PNG 页面

编辑器按照文档的页面设置对文档分页:段落按行拆分,表格的标题行在每一页重复,分页符也会保留。Print 和 PrintPreview 可在桌面端使用,ExportToPDF 通过随 sgcRichEdit 一同安装的 sgcPDF 引擎写出带标签的 PDF,ExportToPNG 则按您选择的分辨率渲染任意页面。

  • 在 VCL、FireMonkey、WinForms、WPF 和 Avalonia 上打印和打印预览
  • 带标签的 PDF,包含标题、列表、表格、带替代文本的图片和链接
  • 任意 DPI 的 PNG 页面导出,同样无需窗口

打印、导出和无障碍访问

屏幕阅读器用户也能使用

屏幕阅读器无法读取的编辑器,会成为部分用户的障碍。在 Windows 上,这些控件提供 UI Automation 文本模式,屏幕阅读器可以按字符、单词、行和段落朗读,播报格式并跟随光标。图片以其替代文本命名,链接会被报告为链接,每条命令都可以通过键盘访问。

  • VCL、Windows 上的 FireMonkey、WinForms 和 WPF 控件支持 UI Automation 文本模式
  • 图片带有替代文本,链接带有超链接角色
  • 每个操作都有键盘快捷键或命令

数据与平台

将文档存储在数据库中,并在任何地方渲染。

数据与平台

数据感知控件和数据绑定

备注、信函和模板通常存放在数据库字段中。TsgcVCLDBRichEdit 和 TsgcFMXDBRichEdit 连接到 TDataSource,读取 memo 和 BLOB 字段,在首次更改时将数据集置于编辑模式,并在用户离开控件时把文档写回。在 .NET 中,DocumentText 属性可在 WinForms、WPF 和 Avalonia 中绑定到您的数据。

  • DataSource、DataField、FieldFormat(Auto、JSON、HTML、RTF、Markdown 或 Text)和 FieldEncoding
  • AutoDisplay 按需加载大型文档
  • 按 Esc 恢复字段值
  • WinForms 的 DataSource、DataMember 和 DataField,以及 WPF 和 Avalonia 的双向绑定

数据与平台

无界面渲染,Linux64 上同样可用

文档经常需要在服务器上转换:为门户网站把 RTF 转为 HTML,为归档把 JSON 转为 PDF,为缩略图把页面转为 PNG。文档模型、格式、布局和导出都不依赖 VCL 或 FireMonkey,因此 Windows 服务或 Linux64 守护进程无需窗口即可加载、修改、渲染和导出文档。

  • Windows 以及 Delphi 10.2 起的 Linux64 上提供与框架无关的单元
  • 与可视化控件相同的格式和页面布局
  • 在 .NET 中,核心库面向 .NET Standard 2.0、.NET Framework 4.7.2 以及 .NET 6、8、9 和 10

谁在用 sgcRichEdit 构建应用

业务应用中的信函、备注和模板

CRM、ERP 和诊所管理应用让用户在数据旁边撰写信函、案例备注和文档模板。数据感知控件把每份文档以 JSON、HTML 或 RTF 存入数据库字段,按文档的页面设置打印,并导出为 PDF 或 DOCX 发给客户。

  • 数据感知控件
  • 样式和表格
  • 导出 PDF 和 DOCX
运行 DataAware 演示

面向网页和电子邮件的内容

服务台、内容工具和邮件客户端撰写的文本最终会出现在浏览器中。用户在熟悉的编辑器中编辑,您的应用保存用于网页的 HTML 或 Markdown,粘贴来自 Word 或浏览器的内容,并在服务器上无需窗口即可转换文档。

  • HTML 和 Markdown
  • 与 Word 和浏览器之间的剪贴板
  • 无界面转换
运行 Editor 演示

多语言和无障碍文档

面向亚洲和中东市场以及公共部门销售的应用,必须接受各种文字并支持辅助技术。sgcRichEdit 支持 IME 输入,可混排阿拉伯语和英语文本,在 Windows 上向屏幕阅读器公开文档,并写出带标签的 PDF 文件。

  • IME
  • 从右到左
  • UI Automation
  • 带标签的 PDF
查看语言功能

几行代码转换文档

加载来自 Word 的 RTF 文件,并将其保存为 HTML、Markdown、DOCX、PDF 和 PNG。

uses 子句中的每个格式单元都会注册其读取器或写入器。sgcUIPDF_Export 将 PDF 导出连接到 sgcPDF。

uses
  sgcRichEdit_Formats, sgcRichEdit_VCL,
  sgcRichEdit_RTF_Reader, sgcRichEdit_HTML_Writer, sgcRichEdit_Markdown,
  sgcRichEdit_DOCX, sgcUIPDF_Export;

procedure TForm1.ConvertContract;
begin
  sgcVCLRichEdit1.LoadFromFile('contract.rtf');
  sgcVCLRichEdit1.SaveToFile('contract.html', refHTML);
  sgcVCLRichEdit1.SaveToFile('contract.md', refMarkdown);
  sgcVCLRichEdit1.SaveToFile('contract.docx', refDOCX);
  sgcVCLRichEdit1.ExportToPDF('contract.pdf');
  sgcVCLRichEdit1.ExportToPNG('page1.png', 0, 150);
end;

.NET 控件使用相同的名称。richEdit 是一个 TsgcWinFormsRichEdit,WPF 和 Avalonia 控件的用法相同。

using esegece.sgcRichEdit;
using esegece.sgcUICore;

// once at startup: PDF export through the esegece.sgcUICore.sgcPDF package
TsgcUIPDFExporter.Register();

richEdit.LoadFromFile("contract.rtf");
richEdit.SaveToFile("contract.html", TsgcRichEditFormat.refHTML);
richEdit.SaveToFile("contract.md", TsgcRichEditFormat.refMarkdown);
richEdit.SaveToFile("contract.docx", TsgcRichEditFormat.refDOCX);
richEdit.ExportToPDF("contract.pdf");
richEdit.ExportToPNG("page1.png", 0, 150);

运行 sgcRichEdit 演示

演示项目随适用于 Delphi 的 sgcUI 试用版一同安装。.NET 演示随 Registered .NET 下载包提供。

带有功能区和示例文档的 VCL Editor 演示

Editor

完整的 VCL 文字处理器,带有用 sgcToolbar 构建的功能区:打开和保存 JSON、RTF、HTML、Markdown 和文本,导出 DOCX 和带标签的 PDF,打印和预览,查找和替换。

EditorFMX 演示,即基于 FireMonkey 的同一编辑器

EditorFMX

FireMonkey 上的同款编辑器,支持触摸模式和 PDF 导出。

DataAware 演示,显示笔记列表和所选记录的文档

DataAware

绑定到数据集的 TsgcVCLDBRichEdit:浏览记录,编辑每条记录的文档并保存到字段。

DataAwareFMX 演示,笔记以 JSON、RTF、HTML 和 Markdown 存储

DataAwareFMX

使用 TsgcFMXDBRichEdit 的数据感知演示。

适用于 Windows Forms 的 .NET Editor 演示

.NET 演示

WinForms 的 Editor、EditorWpf、EditorAvalonia 和 DataBinding,其中 DataBinding 将 DocumentText 绑定到数据源。

sgcRichEdit 包含在哪些版本中

sgcRichEdit 可单独购买,分别适用于 Delphi 和 C++ Builder 以及 .NET,同时也包含在 sgcUI Enterprise 和 All-Access 套件中。没有免费的 Community 版本。

sgcRichEdit 单个包

€299 / 开发者,含完整源代码,1 年更新。随附安装 sgcPDF 以支持 PDF 导出。

购买 sgcRichEdit → 查看价格 →

sgcRichEdit .NET

€299 / 开发者,WinForms、WPF 和 Avalonia 控件,以 Registered NuGet 包提供。

购买 sgcRichEdit .NET →

sgcUI Enterprise

包含所有 sgcUI 产品,其中有 sgcRichEdit 和 sgcPDF,起价 €699。

查看 Enterprise →

支持的框架与平台

sgcRichEdit 中的组件

VCL

TsgcVCLRichEdit 以及数据感知的 TsgcVCLDBRichEdit。

FireMonkey

TsgcFMXRichEdit 以及数据感知的 TsgcFMXDBRichEdit。

.NET

带数据绑定和 Visual Studio 设计器的 TsgcWinFormsRichEdit,以及 TsgcWpfRichEdit 和 TsgcAvaloniaRichEdit。

文档模型

TsgcRichDocument 提供格式、布局、打印和导出,无需控件即可使用。

目标组件版本和平台
Delphi 7 至 13VCL 控件和文档模型Windows
C++ Builder 2007 至 13相同的类生成的 .hpp 头文件和静态库
FireMonkeyTsgcFMXRichEdit 和 TsgcFMXDBRichEditDelphi XE6 及更高版本
Linux64文档模型、格式、布局和导出Delphi 10.2 及更高版本,无界面
.NET 核心库esegece.sgcRichEdit.NET Standard 2.0、.NET Framework 4.7.2、.NET 6、8、9 和 10
WinForms 和 WPFTsgcWinFormsRichEdit、TsgcWpfRichEditWindows 上的 .NET Framework 4.7.2、.NET 8、9 和 10
AvaloniaTsgcAvaloniaRichEdit.NET 8、9 和 10 上的 Avalonia 12

常见问题解答

需要。PDF 导出使用 sgcPDF 引擎,而 sgcRichEdit 会随附安装 sgcPDF,因此 PDF 导出始终可用。在 Delphi 和 C++ Builder 中,请将 sgcUIPDF_Export 添加到 uses 子句。在 .NET 中,请引用 esegece.sgcUICore.sgcPDF,并调用一次 TsgcUIPDFExporter.Register()。

sgcRichEdit 可读取 Word 保存并放入剪贴板的 RTF,以及来自 Word 和 Outlook 的 HTML。DOCX 是导出格式:sgcRichEdit 可以写入 DOCX 文件,但不能读取。

没有。sgcRichEdit 提供适用于 Delphi 和 C++ Builder 或 .NET 的单个包,也包含在 sgcUI Enterprise 和 All-Access 中。.NET 包仅限 Registered 用户,不在 nuget.org 上发布。请使用 sgcUI 试用版进行评估。

将 TsgcVCLDBRichEdit 或 TsgcFMXDBRichEdit 与 TDataSource 搭配使用,并通过 FieldFormat 选择存储格式:JSON 保留每一个细节,HTML 和 RTF 则可被其他工具读取。在 .NET 中,绑定 DocumentText 并设置 DocumentFormat。

文档模型、格式、布局和导出可从 Delphi 10.2 起为 Linux64 编译,因此守护进程无需窗口即可加载、修改文档,并将其导出为 HTML、Markdown、RTF、DOCX、PDF 或 PNG。

包含。每个 sgcRichEdit 许可证都包含完整源代码和 1 年更新。请参阅价格页面。

sgcRichEdit 帮助

在线帮助

sgcUI 帮助:Delphi、C++ Builder 和 .NET。

PDF 手册

Delphi、C++ Builder 和 .NET,涵盖所有 sgcUI 产品。

3,000+开发者
20+年
761+组件
30+API 集成
5平台
30 天退款保证不满意?可在购买后 30 天内申请全额退款。 查看退款政策

立即试用 sgcRichEdit

sgcUI 试用版包含 sgcRichEdit、sgcPDF 以及所有其他 sgcUI 产品。