一个文字处理器。
就在您的应用程序里。
sgcRichEdit 是 sgcUI 全新的富文本文档编辑器。您的用户可以使用样式、列表、表格、图像和链接撰写信函、合同、笔记和报告。您的代码可以读写 RTF、HTML、Markdown 和 JSON,并导出 DOCX、PDF 和 PNG 页面。
- VCL
- FireMonkey
- C++ Builder
- WinForms
- WPF
- Avalonia
↔ 拖动手柄,从浅色切换到深色


每个业务应用程序迟早都需要真正的文档。CRM 要给客户写信,诊所管理工具要保存病历记录,ERP 要存放报价模板,服务台要用带格式的文本答复客户。对这些场景来说,普通的纯文本备忘录远远不够。
sgcRichEdit 是内置于 sgcUI 的完整文档编辑器。它维护一个真正的文档模型,包含命名样式、多级列表、支持合并单元格的表格、内嵌图像和超链接,并按页面对文档进行排版。同一个文档模型驱动 VCL、FireMonkey、WinForms、WPF 和 Avalonia 控件,也可以在没有任何窗口的情况下加载、转换和导出文档。
60 秒了解 sgcRichEdit
一分钟看完样式、表格、各种语言、浅色和深色、所有格式以及所有平台。也可以在 YouTube 观看。
真正的文档,而不是文本框
合同、报告和信函每次打开时外观都必须一致。sgcRichEdit 以命名样式保存段落,格式由样式链加直接格式共同决定,因此修改“标题 1”样式,就能一次性更改文档中的所有标题。
OnLinkClick 事件。近距离观察
支持粗体、斜体、下划线、删除线、上标和下标,字体名称、大小、颜色和突出显示,以及对齐、缩进和行距。下图是上面这份文档的格式在 200% 缩放下的效果。

表格、图像和页面
编辑器按自身的页面设置对文档分页。段落可按行拆分,表格的标题行会在每一页重复,分页符也会保留,因此所见即所得,所见即所印。Print 和 PrintPreview 可在桌面端使用,ExportToPNG 则可按您选择的分辨率渲染任意页面。




截图中文档的三个页面,由 ExportToPNG 以 150 DPI 输出。
支持各种语言,服务每一位用户
日语、中文和韩语用户通过输入法编辑器输入文字,阿拉伯语和希伯来语用户则从右向左书写,同一句话里往往还夹杂着英文单词。sgcRichEdit 会在插入点处内联显示 IME 组合文本,并将其作为一步撤销提交。双向文本段落能让插入点和选区停留在读者预期的位置,每个段落都有自己的文字方向。

- 支持日语、中文和韩语的 IME 内联组合输入。
- 支持从右到左的段落,以及同一行内阿拉伯语与英文混排。Ctrl+Right Shift 和 Ctrl+Left Shift 可设置段落方向。
- 在 Windows 上,VCL、FireMonkey、WinForms 和 WPF 控件支持 UI Automation 文本模式:屏幕阅读器可按字符、单词、行和段落朗读,播报格式并跟随插入点。图像以其替代文本命名,链接则会被报告为链接。
- 编辑器界面文本提供 12 种语言:英语、西班牙语、德语、法语、意大利语、葡萄牙语(巴西)、荷兰语、波兰语、土耳其语、日语、韩语和中文。
浅色、深色、Fluent 或经典
sgcRichEdit 是 sgcUI 控件,因此和套件中的其他控件一样会跟随应用程序主题。选择 Fluent 预设后,编辑器和功能区就会呈现 Windows 11 的外观。切换到深色后,功能区、状态栏和后台视图都会变暗,而页面仍保持白色,就像纸张一样。



uses
sgcUICore_Theme;
// the Windows 11 look for every sgcUI control, sgcRichEdit included
sgcUISetApplicationThemePreset('Fluent');
// follow the light / dark setting of Windows, live
sgcUISetApplicationThemeFollow(utfSystem, True);
一份文档,支持所有格式
文档可能来自 Word 的 RTF,来自浏览器或电子邮件的 HTML,也可能来自开发者工具的 Markdown。sgcRichEdit 可以读写所有这些格式,并保留自己的原生 JSON 格式,用来存储文档的每一个细节。LoadFromFile 会自动识别格式,SaveToFile 按您指定的格式保存,AsHTML、AsRTF 和 AsMarkdown 则以字符串形式读写文档。
加载
保存和导出
uses 子句中的每个格式单元都会注册相应的读取器或写入器,sgcUIPDF_Export 则将 PDF 导出连接到 sgcPDF 引擎,该引擎会随 sgcRichEdit 一同安装。
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;
- 来自 Word 的 RTF 会保留文本、字体、颜色、段落格式、样式、列表、合并单元格的表格、超链接以及 PNG 和 JPEG 图像。
- HTML 读取器可理解 CSS、表格以及 Word 和 Outlook 的列表提示。
- Markdown 支持标题、强调、代码、引用、列表、链接、图像、表格和删除线。
ExportToPDF会输出带标签的 PDF,包含标题、列表、表格、带替代文本的图像和链接。- 复制时会把所选内容以 RTF、HTML 和纯文本三种形式放入剪贴板,因此粘贴到 Word、电子邮件或网页表单时可保留格式。粘贴时可接收来自 Word 和浏览器的 RTF 与 HTML,Ctrl+Shift+V 则粘贴纯文本。
熟悉的编辑体验
用户会带着使用文字处理器的习惯而来。编辑器支持常用快捷键(Ctrl+B、Ctrl+I、Ctrl+U,以及对齐、标题、项目符号和用于链接的 Ctrl+K),保留完整的撤销和重做历史,并可跨段落和表格单元格查找和替换文本。

每个命令都可以通过 ExecuteCommand 和 CommandState 在代码中调用,也可以通过 VCL 和 FireMonkey 的 Action 使用,因此您自己的工具栏或 sgcToolbar 功能区能与当前选区保持同步。
uses
sgcRichEdit_Commands;
procedure TForm1.btnBoldClick(Sender: TObject);
begin
sgcVCLRichEdit1.ExecuteCommand(recBold);
end;
procedure TForm1.sgcVCLRichEdit1SelectionChange(Sender: TObject);
begin
// the button shows the state of the selection
btnBold.Down := sgcVCLRichEdit1.CommandState(recBold).Checked;
end;
您的文档,存入您的数据库
笔记、信函和模板通常存放在数据库字段中。TsgcVCLDBRichEdit 和 TsgcFMXDBRichEdit 可连接到 TDataSource,读取 memo 和 BLOB 字段,在首次修改时将数据集切换到编辑模式,并在用户离开控件时写回文档。按 Escape 可恢复字段值,AutoDisplay 则可按需加载大型文档。
uses
sgcRichEdit_Formats, sgcRichEdit_VCL_DB;
sgcVCLDBRichEdit1.DataSource := dsNotes;
sgcVCLDBRichEdit1.DataField := 'NOTE';
// store the documents as JSON; refAuto, the default, detects the format
sgcVCLDBRichEdit1.FieldFormat := refJSON;
无界面运行,Linux64 也不例外
文档常常需要在服务器上转换:为门户网站把 RTF 转成 HTML,为归档把 JSON 转成 PDF,为缩略图把页面转成 PNG。文档模型、格式、排版和导出功能都不依赖 VCL 或 FireMonkey,因此 Windows 服务或 Linux64 守护进程(Delphi 10.2 及更高版本)无需窗口即可加载、修改、渲染和导出文档,页面排版也与可视化控件完全一致。
uses
sgcRichEdit_Model, sgcRichEdit_Formats, sgcRichEdit_Print,
sgcRichEdit_RTF_Reader, sgcRichEdit_HTML_Writer, sgcUIPDF_Export;
var
oDocument: TsgcRichDocument;
begin
oDocument := TsgcRichDocument.Create;
try
sgcRichLoadFromFile(oDocument, 'letter.rtf');
sgcRichSaveToFile(oDocument, 'letter.html', refHTML);
// tagged PDF, no window and no VCL or FireMonkey needed
sgcRichExportPDF(oDocument, nil, 'letter.pdf');
finally
oDocument.Free;
end;
end;
同样适用于 .NET
适用于 WinForms、WPF 和 Avalonia 的 .NET 控件与 Delphi 控件使用相同的名称。核心库面向 .NET Standard 2.0、.NET Framework 4.7.2 以及 .NET 6、8、9 和 10,DocumentText 属性在这三个框架中都可以绑定到您的数据。
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.docx", TsgcRichEditFormat.refDOCX);
richEdit.ExportToPDF("contract.pdf");
运行演示程序
Delphi 和 C++ Builder 演示程序随 sgcUI 试用版一起安装,.NET 演示程序则包含在 Registered 版 .NET 下载包中。




- Editor:完整的 VCL 文字处理器,功能区由 sgcToolbar 构建。可打开和保存 JSON、RTF、HTML、Markdown 和文本,导出 DOCX 和带标签的 PDF,支持打印和预览、查找和替换。
- EditorFMX:FireMonkey 上的同一个编辑器,支持触控模式和 PDF 导出。
- DataAware 和 DataAwareFMX:绑定到数据集的数据感知编辑器,每条记录一份文档。
- .NET:适用于 WinForms 的 Editor、EditorWpf、EditorAvalonia 以及 DataBinding,后者将
DocumentText绑定到数据源。
sgcRichEdit 包含在哪些产品中
sgcRichEdit 可单独购买,分别提供 Delphi 和 C++ Builder 版以及 .NET 版,同时也包含在 sgcUI Enterprise 和 All-Access 套装中。单独的安装包会同时安装 sgcPDF,因此 PDF 导出始终可用。没有免费的 Community 版。详情请参阅价格页面。
为您的用户提供一个文字处理器
sgcRichEdit 随 sgcUI 2026.11 推出,适用于 Delphi 和 C++ Builder 的 VCL 与 FireMonkey,以及 .NET 的 WinForms、WPF 和 Avalonia。
有问题或反馈?请联系我们,您将收到编写这些代码的人员的答复。
