开源DCWriterLite,一个类似MS WORD的开源文书编辑器
地址 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 单选框/单选按钮元素
- 可以设置为选中状态
- 可以设置为不可编辑状态
- 可以设置为必填状态
- 文本多行



开源DCWriterLite,一个类似MS WORD的开源文书编辑器的更多相关文章
- 打造一个高逼格的android开源项目——小白全攻略 (转)
转自:打造一个高逼格的android开源项目 小引子 在平时的开发过程中,我们经常会查阅很多的资料,最常参考的是 github 的开源项目.通常在项目的主页面能看到项目的简介和基本使用,并且时不时能看 ...
- 微软开源了一个 助力开发LLM 加持的应用的 工具包 semantic-kernel
在首席执行官萨蒂亚·纳德拉(Satya Nadella)的支持下,微软似乎正在迅速转变为一家以人工智能为中心的公司.最近微软的众多产品线都采用GPT-4加持,从Microsoft 365等商业产品到& ...
- 使用maven编译dubbo,导入eclipse(其他maven开源项目编译类似)
dubbo github下载地址:https://github.com/alibaba/dubbo 相关文档:http://dubbo.io/ 使用maven编译dubbo,导入eclipse(其他m ...
- [转]Infobright是一个与MySQL集成的开源数据仓库
[文章作者:张宴 本文版本:v1.1 最后修改:2010.05.18 转载请注明原文链接:http://blog.zyan.cc/infobright/] Infobright是一个与MySQL集成的 ...
- NET Core写了一个轻量级的Interception框架[开源]
NET Core写了一个轻量级的Interception框架[开源] ASP.NET Core具有一个以ServiceCollection和ServiceProvider为核心的依赖注入框架,虽然这只 ...
- CountBoard 是一个基于Tkinter简单的,开源的桌面日程倒计时应用
CountBoard 是一个基于Tkinter简单的,开源的桌面日程倒计时应用. 项目地址 https://github.com/Gaoyongxian666/CountBoard 基本功能 置顶功能 ...
- 分享一个基于 netty 的 java 开源项目
1.简介 中微子代理(neutrino-proxy)是一个基于 netty 的.开源的 java 内网穿透项目.遵循 MIT 许可,因此您可以对它进行复制.修改.传播并用于任何个人或商业行为. 2.项 ...
- 写一个类似淘宝的ios app需要用到哪些技术?
写一个类似淘宝的ios app需要用到哪些技术? 让我想起了有人私信我,说不缺钱,做个类似知乎的东西,包括加运营,需要多少钱. 扯淡结束,正好最近看了一点这方面的东西,也许对题主来说有点帮助. 手机淘 ...
- Gora是一个类似Hibernate的ORM框架
Gora是一个类似Hibernate的ORM框架,但是不只是支持关系数据库,更重要支持NoSQL之类大数据的存储. 支持NoSQL之类大数据的存储 Apache Gora是一个开源的ORM(Objec ...
- MS WORD 表格自动调整列宽,自动变漂亮,根据内容自动调整 .
在MS WORD中,当有大量的表格出现时,调整每个表格的的高和宽和大小将是一件非常累的事情,拖来拖去,非常耗时间,而且当WORD文档达到300页以上时,调整反应非常的慢,每次拖拉线后,需要等待一段时间 ...
随机推荐
- 解决Navicat导出Excel数字为科学计数法问题
问题分析 需求是使用Navicat导出数据到Excel中,但是,发现导出的数据中,数字长度如果超过12位,自动的按照科学计数法显示数字.我们需要全部显示输入的内容,而不能使用科学计数法,如输入的身份证 ...
- maven pom.xml文件中properties标签介绍
在properties标签内可以把版本号作为变量进行声明,方便maven依赖标签用${变量名}的形式动态获取版本号.这样做的优点是当版本号发生改变时,仅仅需要更新properties标签中的变量值就行 ...
- fastjson jsonobject对象转为网址传参pathvalue形式并按首字母排序
效果 代码 @Test public void test() { JSONObject jsonObject = new JSONObject(true); jsonObject.put(" ...
- Spring扩展接口-ApplicationContextInitializer
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...
- 基于vis.js实现网络拓扑图等关系图谱
vis.js是一个动态的.基于浏览器的可视化库.该库被设计为易于使用,可以处理大量动态数据,并支持对数据的操作和与数据的交互.该库由组件DataSet, Timeline, Network, Grap ...
- 全选和全不选demo
1 <script> 2 3 $(function(){ 4 $("#chkAll").change(function(){ 5 6 //获取我们全选按钮的选中状态: ...
- http 426 Upgrade Required
1.很久没做http接口了,都快不会了... 最近遇到一个奇葩的,调用http接口返回空,什么都没有,然后用工具测试,发现能返回消息,不过状态是500... 好奇之下就在代码里加个个取返回状态code ...
- 三、FFmpeg学习笔记
FFmpeg是一个开源.跨平台的多媒体处理框架,能够实现音视频的录制.转换.剪辑.编码.解码.流媒体传输.过滤与后期处理等几乎所有常见的多媒体操作.其强大之处在于几乎支持所有的音视频格式.编解码器 ...
- BZOJ2720 [Violet 5] 列队春游 题解
Problem 对于一个数列 \(S\),\(S_0= \infty\),设对于 \(S_i\),\(S_{a_i}\) 是 \(S_i\) 之前第一个大于等于 \(S_i\) 的数.给定 \(S\) ...
- MCP Server 之旅第 7 站:助力 MCP 打破“黑盒困境”
背景 在分布式系统中,请求链路追踪(Trace) 是诊断性能瓶颈.定位故障的核心能力.近期,阿里云函数计算的 Tracing 能力由 2.0 的 Jeager 升级为 OpenTelemetry 标准 ...