地址 https://github.com/dcsoft-yyf/DCWriterLite
本开源软件的特色
1.纯前端组件。完全自定义的文档DOM结构,而不是类似TinyMCE/CKEditor等基于HTML DOM 开发的。
2.使用CANVAS来绘制文档界面,使用SVG来进行打印。
3.深度魔改Blazor Webassembly9.0开发的。
4.展示了一种编程技巧,将WinForm.NET程序移植到WASM开发。
5.表单录入和自由文本录入完美融合,适用于企业级开发。
6.以XML格式存储。
7.支持信创,能运行在Windows、统信、麒麟、方德等操作系统。
DCWriterLite 开源版功能清单
运行环境
- 支持Windows、Linux、MacOS、iOS、安卓、统信、麒麟、方德等操作系统。
- 支持Chrome、Firefox等浏览器。
- 纯前端组件,不依赖服务器端,不依赖任何第三方组件。
文件操作:
- 新建文件
- 打开文件,支持XML格式。
- 保存文件,支持XML格式。
- 打印设置
- 纸张类型
- 纸张方向
- 上下左右的边距设置
- 全局性文档网格线
- 打印预览
复制粘贴
- 支持纯文本、私有格式的文档内容的复制粘贴
重做/撤销
- 支持不限制次数的重做和撤销操作
文本样式
- 支持粗体、斜体、下划线、删除线、字体名称、字体大小的设置
- 文本、输入域、单元格的边框和背景色。
标尺
- 支持横向和纵向标尺。
- 支持拖拽标尺的刻度来设置页边距。
DCWriterLite 开源版功能清单
运行环境
- 支持Windows、Linux、MacOS、iOS、安卓、统信、麒麟、方德等操作系统。
- 支持Chrome、Firefox等浏览器。
- 纯前端组件,不依赖服务器端,不依赖任何第三方组件。
文件操作:
- 新建文件
- 打开文件,支持XML格式。
- 保存文件,支持XML格式。
- 打印设置
- 纸张类型
- 纸张方向
- 上下左右的边距设置
- 全局性文档网格线
- 打印预览
复制粘贴
- 支持纯文本、私有格式的文档内容的复制粘贴
重做/撤销
- 支持不限制次数的重做和撤销操作
文本样式
- 支持粗体、斜体、下划线、删除线、字体名称、字体大小的设置
- 文本、输入域、单元格的边框和背景色。
标尺
- 支持横向和纵向标尺。
- 支持拖拽标尺的刻度来设置页边距。
- 支持拖拽标尺的刻度来设置段落边距。
段落样式
- 支持行间距和段落间距
可编程DOM API接口
提供树状的DOM模型,用于表示文档中所有的内容。并提供以下DOM文档元素类型。
-
XTextDocument 文档元素
-
表示文档根节点,是DOM树的操作的入口点。
-
XTextContainerElement 容器元素,是一个抽象类,是所有容器元素的基类。
-
可以包含其他元素。
-
XTextImageElement 图片元素
-
可以自由拖拽设置图片的大小
-
只支持JPG\PNG\BMP格式。
-
XTextInputFieldElement 输入域元素
-
输入域高亮度显示
-
设置背景文本
-
内容校验,包括必填项、最大值、最小值等。
-
XTextLineBreakElement 换行元素
-
文本进行软回车,但不应用段落间距的设置。
-
XTextPageBreakElement 分页元素
-
可以导致强制分页
-
XTextPageInfoElement 页码元素
-
可以显示页码或者总页数
-
XTextParagraphFlagElement 段落标记元素
-
可以设置为段落的首行缩进
-
可以设置为段落的悬挂缩进
-
可以设置为段落的对齐方式(靠左、居中、靠右、两端对齐)
-
可以设置段落的行间距和段落间距
-
可以设置数字列表和项目符号列表
-
XTextTableElement表格元素
-
表格标题行
-
合并拆分单元格
-
鼠标拖拽来设置表格行的高度和表格列的宽度
-
表格行设置强制分页
-
表格行设置为不可跨页(不能被分页线分割)
-
XTextCheckBoxElement/XTextRadioElement 单选框/单选按钮元素
-
可以设置为选中状态
-
可以设置为不可编辑状态
-
可以设置为必填状态
-
文本多行
-
支持拖拽标尺的刻度来设置段落边距。
段落样式
- 支持行间距和段落间距
可编程DOM API接口
提供树状的DOM模型,用于表示文档中所有的内容。并提供以下DOM文档元素类型。
- XTextDocument 文档元素
- 表示文档根节点,是DOM树的操作的入口点。
- XTextContainerElement 容器元素,是一个抽象类,是所有容器元素的基类。
- 可以包含其他元素。
- XTextImageElement 图片元素
- 可以自由拖拽设置图片的大小
- 只支持JPG\PNG\BMP格式。
- XTextInputFieldElement 输入域元素
- 输入域高亮度显示
- 设置背景文本
- 内容校验,包括必填项、最大值、最小值等。
- XTextLineBreakElement 换行元素
- 文本进行软回车,但不应用段落间距的设置。
- XTextPageBreakElement 分页元素
- 可以导致强制分页
- XTextPageInfoElement 页码元素
- 可以显示页码或者总页数
- XTextParagraphFlagElement 段落标记元素
- 可以设置为段落的首行缩进
- 可以设置为段落的悬挂缩进
- 可以设置为段落的对齐方式(靠左、居中、靠右、两端对齐)
- 可以设置段落的行间距和段落间距
- 可以设置数字列表和项目符号列表
- XTextTableElement表格元素
- 表格标题行
- 合并拆分单元格
- 鼠标拖拽来设置表格行的高度和表格列的宽度
- 表格行设置强制分页
- 表格行设置为不可跨页(不能被分页线分割)
- XTextCheckBoxElement/XTextRadioElement 单选框/单选按钮元素
- 可以设置为选中状态
- 可以设置为不可编辑状态
- 可以设置为必填状态
- 文本多行


