业务应用中的信函、备注和模板
CRM、ERP 和诊所管理应用让用户在数据旁边撰写信函、案例备注和文档模板。数据感知控件把每份文档以 JSON、HTML 或 RTF 存入数据库字段,按文档的页面设置打印,并导出为 PDF 或 DOCX 发给客户。
- 数据感知控件
- 样式和表格
- 导出 PDF 和 DOCX
让用户在您自己的应用程序中使用文字处理器。sgcRichEdit 可编辑带有样式、列表、表格、图片和链接的文档,读写 JSON、HTML、Markdown 和 RTF,并导出 DOCX、PDF 和 PNG 页面。同一个文档模型驱动 VCL、FireMonkey、WinForms、WPF 和 Avalonia 控件,并且无需窗口即可渲染,在 Linux64 上同样如此。
// 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 保存的是真正的文档:带有命名样式的段落、多级列表、表格、内嵌图片和超链接。格式由样式链加直接格式组成,因此修改“标题 1”样式,就会同时改变所有标题。
OnLinkClick 事件编写文档
用户会带着使用文字处理器的习惯而来。编辑器响应常用快捷键,保留完整的撤销和重做历史,并可在段落和表格单元格之间查找和替换文本。每条命令都可以通过 ExecuteCommand 和 CommandState 在代码中调用,也可以通过 VCL 和 FireMonkey 操作调用,因此工具栏或功能区会与所选内容保持同步。
输入法、双向文本和已翻译的用户界面。
支持各种语言
日语、中文和韩语用户通过输入法编辑器 (IME) 输入,阿拉伯语和希伯来语用户从右向左书写,且同一句话中常常夹杂英文单词。sgcRichEdit 在光标处内联显示 IME 组合内容,并作为一次撤销步骤提交。双向段落会让光标和选区停留在读者期望的位置,每个段落都有各自的方向。
读写用户已有的各种格式。
交换文档
文档可能是来自 Word 的 RTF,来自浏览器或电子邮件的 HTML,或来自开发工具的 Markdown。sgcRichEdit 可以读写所有这些格式,并保留自己的原生 JSON 格式,存储文档的每一个细节。LoadFromFile 会自动检测格式,SaveToFile 按您指定的格式保存,而 AsHTML、AsRTF 和 AsMarkdown 等属性则以字符串形式读写文档。
交换文档
复制时会把所选内容以 RTF、HTML 和纯文本放入剪贴板,因此粘贴到 Word、电子邮件或网页表单时会保留格式。粘贴时可接收来自 Word 和浏览器的 RTF 和 HTML,不需要格式时,可用 Ctrl+Shift+V 粘贴纯文本。
同一份文档可输出为纸张、PDF、图片,并供屏幕阅读器使用。
打印、导出和无障碍访问
编辑器按照文档的页面设置对文档分页:段落按行拆分,表格的标题行在每一页重复,分页符也会保留。Print 和 PrintPreview 可在桌面端使用,ExportToPDF 通过随 sgcRichEdit 一同安装的 sgcPDF 引擎写出带标签的 PDF,ExportToPNG 则按您选择的分辨率渲染任意页面。
打印、导出和无障碍访问
屏幕阅读器无法读取的编辑器,会成为部分用户的障碍。在 Windows 上,这些控件提供 UI Automation 文本模式,屏幕阅读器可以按字符、单词、行和段落朗读,播报格式并跟随光标。图片以其替代文本命名,链接会被报告为链接,每条命令都可以通过键盘访问。
将文档存储在数据库中,并在任何地方渲染。
数据与平台
备注、信函和模板通常存放在数据库字段中。TsgcVCLDBRichEdit 和 TsgcFMXDBRichEdit 连接到 TDataSource,读取 memo 和 BLOB 字段,在首次更改时将数据集置于编辑模式,并在用户离开控件时把文档写回。在 .NET 中,DocumentText 属性可在 WinForms、WPF 和 Avalonia 中绑定到您的数据。
DataSource、DataField、FieldFormat(Auto、JSON、HTML、RTF、Markdown 或 Text)和 FieldEncodingAutoDisplay 按需加载大型文档DataSource、DataMember 和 DataField,以及 WPF 和 Avalonia 的双向绑定数据与平台
文档经常需要在服务器上转换:为门户网站把 RTF 转为 HTML,为归档把 JSON 转为 PDF,为缩略图把页面转为 PNG。文档模型、格式、布局和导出都不依赖 VCL 或 FireMonkey,因此 Windows 服务或 Linux64 守护进程无需窗口即可加载、修改、渲染和导出文档。
CRM、ERP 和诊所管理应用让用户在数据旁边撰写信函、案例备注和文档模板。数据感知控件把每份文档以 JSON、HTML 或 RTF 存入数据库字段,按文档的页面设置打印,并导出为 PDF 或 DOCX 发给客户。
服务台、内容工具和邮件客户端撰写的文本最终会出现在浏览器中。用户在熟悉的编辑器中编辑,您的应用保存用于网页的 HTML 或 Markdown,粘贴来自 Word 或浏览器的内容,并在服务器上无需窗口即可转换文档。
面向亚洲和中东市场以及公共部门销售的应用,必须接受各种文字并支持辅助技术。sgcRichEdit 支持 IME 输入,可混排阿拉伯语和英语文本,在 Windows 上向屏幕阅读器公开文档,并写出带标签的 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);演示项目随适用于 Delphi 的 sgcUI 试用版一同安装。.NET 演示随 Registered .NET 下载包提供。
完整的 VCL 文字处理器,带有用 sgcToolbar 构建的功能区:打开和保存 JSON、RTF、HTML、Markdown 和文本,导出 DOCX 和带标签的 PDF,打印和预览,查找和替换。
FireMonkey 上的同款编辑器,支持触摸模式和 PDF 导出。
绑定到数据集的 TsgcVCLDBRichEdit:浏览记录,编辑每条记录的文档并保存到字段。
使用 TsgcFMXDBRichEdit 的数据感知演示。
WinForms 的 Editor、EditorWpf、EditorAvalonia 和 DataBinding,其中 DataBinding 将 DocumentText 绑定到数据源。
sgcRichEdit 可单独购买,分别适用于 Delphi 和 C++ Builder 以及 .NET,同时也包含在 sgcUI Enterprise 和 All-Access 套件中。没有免费的 Community 版本。
TsgcVCLRichEdit 以及数据感知的 TsgcVCLDBRichEdit。
TsgcFMXRichEdit 以及数据感知的 TsgcFMXDBRichEdit。
带数据绑定和 Visual Studio 设计器的 TsgcWinFormsRichEdit,以及 TsgcWpfRichEdit 和 TsgcAvaloniaRichEdit。
TsgcRichDocument 提供格式、布局、打印和导出,无需控件即可使用。
| 目标 | 组件 | 版本和平台 |
|---|---|---|
| Delphi 7 至 13 | VCL 控件和文档模型 | Windows |
| C++ Builder 2007 至 13 | 相同的类 | 生成的 .hpp 头文件和静态库 |
| FireMonkey | TsgcFMXRichEdit 和 TsgcFMXDBRichEdit | Delphi XE6 及更高版本 |
| Linux64 | 文档模型、格式、布局和导出 | Delphi 10.2 及更高版本,无界面 |
| .NET 核心库 | esegece.sgcRichEdit | .NET Standard 2.0、.NET Framework 4.7.2、.NET 6、8、9 和 10 |
| WinForms 和 WPF | TsgcWinFormsRichEdit、TsgcWpfRichEdit | Windows 上的 .NET Framework 4.7.2、.NET 8、9 和 10 |
| Avalonia | TsgcAvaloniaRichEdit | .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 年更新。请参阅价格页面。
sgcUI 帮助:Delphi、C++ Builder 和 .NET。
Delphi、C++ Builder 和 .NET,涵盖所有 sgcUI 产品。