DCWrirter电子病历文档编辑器介绍
南京都昌信息科技有限公司 袁永福
绿色版软件下载 http://www.dcwriter.cn/download/DCSoft.Writer.Demo.rar
用户手册下载 http://www.dcwriter.cn/download/DCWriterUserGuide.doc
产品介绍PPT下载 http://www.dcwriter.cn/download/DCWriterIntroduce.ppt
更新记录
2012-5-26
改进了权限控制功能。
新增FileCleanPrint(整洁打印)命令。
新增CleanViewMode(整洁视图模式),ComplexViewMode(复杂视图模式)命令。
2012-5-27
当文档内容被选择时隐藏插入点光标。
修改了鼠标点击时插入点光标定位不准确的错误。
新增FormViewMode(表单视图模式)命令。让编辑器控制支持表单视图模式。
新增了field.EnableHighlight属性,可以更灵活的设置输入域的高亮度显示方式。
修改了复制文档导致的丢失授权历史记录的错误。
新增ClearUserTrace(清除用户痕迹记录)命令,能清除文档中选中部分的用户痕迹记录。该命令仅在管理员模式下有效。
新增AdministratorViewMode(管理员模式)命令,能设置文本编辑器的管理员模式。该命令功能过于强大,小心使用。
2012-5-29
添加医学表达式功能。
2012-5-30
修改了表格套嵌中子表格高度发生改变时父表格高度没有更新的问题。
修改了新增表格时的初始化表格相关元素大小的错误。
2012-6-6
调整的复选框的大小计算和显示过程。
调整了文档行绘制的过程,解决了某些情况下表格中最下面的表格线显示不出来的问题。
解决文字设置为上标时文本行高度计算不正确的错误。
改进了分页位置计算时考虑不周的问题。
修改了权限控制的一些错误。
2012-6-7
修改了表单视图模式下的一些错误。
为演示程序新增了表单视图模式演示功能。
修改了功能命令设计器在程序集经过混淆后工作不正常的错误。
调整了打印功能代码结构,修改了整洁打印+续打时的一些错误。
2012-6-9
开始添加查找和替换功能。
为编辑器控件新增CommandError事件。
优化了滚动到视图的方法。考虑到了控件部分客户区在屏幕之外的情况。
2012-6-10
改进查找、替换功能。
改善了分页时文档行被跨页的情况。
开始添加表格标题行的功能。
2012-6-12
初步实现了表格标题行的功能,不过在常规视图模式下打印时打印结果中标题行设置无效。
2012-6-13
改善了表格标题行的功能。
修改了打印中的一些BUG.
增强表达式引擎的功能。
增强文本输入域级联模板的功能。
为复选框添加级联模板功能。
2012-6-14
改善了使用输入法输入汉字时控件效率比较低的问题。
调整了复选框元素的代码结构。
为单选框、复选框新增级联模板的功能。
2012-6-15
增强了级联模板的功能,修改了执行级联模板功能时光标定位错误。
修改了一个行间距计算的错误。
2012-6-16
修改了表格删除表格列时撤销操作后表格列宽度无法准确恢复的问题。
修改了在文档换行时行首/行尾元素判断不够准确的问题。
为文档对象添加调试模式。
优化了段落符号的排版和显示。
2012-6-17
为很多用户界面增加英文版本。
修改了命令控制器销毁过程中的一个错误。
2012-6-19
修改了退格逻辑删除时插入点定位不准确的错误。
2012-6-21
修改了鼠标拖拽修改表格列的宽度时,文档排版不正确的错误。
改进了表格绘制功能,将超过表格单元格的内容剪切掉。
为编辑器控件新增LastUIEventTime属性。
2012-6-22
修改了在Word全选后在编辑器中粘贴而导致的错误。
修改了段落符号元素很容易被选中的缺陷。
修改了清空文档时未能把文件名清空的缺陷。
2012-6-25
新增了显示调试输出窗口。
2012-6-26
修改了编辑事件表达式对话框中的一个判断错误。
修改了容器元素的EditorSetVisible中的一个刷新起始位置的计算错误。
为表达式新增LEN函数。
修改了级联模板执行过程中用户界面刷新不完整的问题。
2012-6-28
修改了弹出式日期时间选择界面在XP下显示不完整的问题。
新增了严格表单显示方式。
改进了表格标题行功能,还有状态错误等待修复。
2012-6-29
修改了跨表格选择内容是当前插入点位置的计算错误。
修改了表格标题行的显示和排版过程中的一些错误。
2012-6-30
修改了复制图片元素后图片元素绘制内容时报的错。
2012-7-11
添加了输入域固定宽度的功能。
2012-7-15
开发虚拟文件系统控制器功能模块。
2012-7-17
新增了UpdateViewForDataSource,UpdateDataSourceForView命令。
新增了XTextLockElement类型.
修改了WriterControl.DocumentOptions的初始化值。
新增InsertLock命令。
开始修改DocumentControl中的操作许可控制模块。
2012-7-18
修改DocumentControl中的操作许可控制模块。
根据客户反馈修改了控件的DocumentOptioins管理的一些考虑不周。
完成InsertLock命令。
改善了删除域的一些功能操作。
2012-7-19
新增MoveTo命令,新增SignDocument命令。
改进数据源绑定功能。
2012-7-20
改善了数据源绑定功能。
2012-7-24
根据用户反馈修改了指定打印页码时页码编号检查不准确的问题。
修改了报表中表格单元格不能跨页时的分页不准确的问题。
改进了自定义列表项目提供接口。
2012-8-2
修正了选中文档内容后,最小化窗体时视图滚动不准确的问题。
处理了当单元格内部换页而又存在标题行时的分页计算考虑不周的情况。
2012-8-10
修改了选择区域高亮度显示不出来的错误。
2012-8-13
改善了编辑器命令设计时支持。
编写文档。
2012-8-17
调整了混淆操作。
调整了一些代码结构,避免开发者写出不合适的代码。
2012-8-19
新增了InsertXML命令。
2012-8-20
修改了五笔输入法输入文字的一个不足。
修改了合并单元格时可能会出现的选择区域越界的错误。
完善文档。
为编辑器控件新增HeaderFooterReadonly属性。
改善双击激活页眉页脚的操作。
2012-8-21
新增XTextPageInfoElement类型,支持页码。
新增InsertPageInfo命令。
2012-8-22
为编辑器新增AllowDragContent属性,只是鼠标拖拽移动和复制文档内容。
2012-8-23
新增ContentBuilder类型。简化编程生成DOM结构。
2012-8-26
支持从RTF文档导入页码元素,也支持向RTF导出页码域。
编写说明文档。
DCWriter文本编辑器软件使用说明
南京都昌信息科技有限公司
2012/8/24
简介
DCWriter文本编辑器软件是南京都昌信息科技有限公司自主开发的,它是完全用C#编写的、运行在微软.NET平台上的软件组件,没有使用MS Word、RichEditBox等其他任何文本编辑器组件,完全自主实现了富格式文本编辑功能。可以非常完美的集成到各类.NET应用系统中,包括WinForm.NET、WPF、ASP.NET、命令行程序或者后台服务程序。
DCWriter除了实现了强大的通用文本编辑功能外,还针对电子病历业务添加了续打、输入域、半结构化文档、级联模板、三级查房权限控制、痕迹保留、医学表达式等功能,是开发电子病历应用系统的理想基础。
软件作者联系人袁永福,电子邮箱:28348092@qq.com。演示程序下载地址/Files/xdesigner/DCSoft.Writer.WinFormDemo.rar。
业绩
DCWriter提供了市面上非常专业的功能和非常良好的用户体验,因此已经成功应用于多家三甲医院,包括江苏省中医院、江苏省人民医院、南京市胸科医院等等,此外还有多家地区中小医院。客户正在不断发展中。
运行环境
DCWriter运行在微软Windows操作系统以及微软.NET框架2.0及更高版本的系统中,硬件为x86 PC机及兼容系统。
功能点介绍
DCWriter支持很多功能点,并还在继续添加中。下表为DCWriter的功能清单及和其他同类软件的对比:
功能项目 |
DCWriter |
RTF类编辑器 |
GUI界面类编辑器 |
产品基础 |
自主开发 |
基于RTF控件开发 |
基于国外开源GUI界面库开发。 |
编辑、排版、打印等级别功能。 |
与MS Word类型,覆盖其80%功能以上。 |
类似 Windows写字板程序,只提供基本的字处理功能。 |
大多类似Windows写字板程序,只提供基本的字处理功能。 |
表格能力 |
强大,支持表格套嵌,支持横向和纵向合并单元格,提供可编程对象。 |
弱,仅提供基本的表格绘制能力,无法编程控制。 |
弱,仅提供基本的表格绘制能力,无法编程控制。 |
图文混排能力 |
强,支持矢量绘图和普通图片处理,支持图文混排。 |
还可。 |
有些比较弱。 |
三级查房权限控制 |
支持。能做到文档内部的控制。 |
不支持。 |
弱。 |
痕迹保留 |
强,可自动用多种颜色和线型标记不同用户的编辑痕迹。 |
不支持。 |
不支持。 |
断点续打 |
支持。 |
不支持。 |
不支持。 |
级联模板。 |
强大,能方便快捷的实现无限级的级联模板功能。 |
弱,应用麻烦。 |
弱,应用麻烦。 |
XML支持 |
支持,能加载和保存XML文档。 |
不支持。 |
弱。 |
半结构化内容 |
强大。 |
弱。 |
弱。 |
产品培训难度 |
用户体验与WORD类型,用户很容易上手。 |
还可。 |
还可。 |
产品未来发展 |
专业开发文本编辑器。 |
缓慢,公司的经营中心不是编辑器,而是具体的业务软件。 |
缓慢,公司的经营中心不是编辑器,而是具体的业务软件。 |
编程接口 |
丰富,提供完整的文档DOM接口,能精细控制文档。 |
弱。 |
弱。 |
.NET开发 |
完美支持.NET开发,支持WinForm.NET , WPF和ASP.NET。 |
弱。 |
弱。 |
DCWriter详细的功能点有
文档编辑功能
DCWriter提供强大的文档编辑功能,主要有:
1. 文字编辑功能。包括设置字体名称、字体大小、粗体、斜体、下划线样式、文字颜色、文字背景色、上下标。
2. 支持数字式的和圆点式的段落列表。
3. 支持图片,支持鼠标拖拽改变图片大小,支持在图片中添加批注信息,批注信息保存后可以再编辑。可以使用如下图所示的对话框来编辑图片批注信息。
4. 支持段落设置。支持段落左缩进、行首缩进、段前间距、段后间距、行间距。可以使用如下图所示的对话框来设置参数。
5. 支持表格。支持单元格的无限制的横向合并和纵向合并。单元格内可以进行图文混排。支持无限制的表格套嵌表格。可以设置表格的标题行。
6. 可以使用如下图所示的对话框来设置单元格和图片的边框和背景。
7. DCWriter支持两种页面视图模式
分页视图模式,这种模式下文档的显示结果和打印一样:
普通视图模式
:
8. 被选择区域高亮度显示模式。DCWriter支持两种被选择区域的显示模式。
反色高亮度显示被选择区域,如下图所示:
半透明色高亮度显示被选择区域,如下图所示:
9. 重做、撤销。DCWriter支持不受次数限制的重做和撤销操作。对文档的任何修改都能重做和撤销。
10. OLE拖拽。DCWriter支持OLE拖拽来插入内容。可以从Windows资源管理器中拖拽图片文件到编辑器中而插入图片内容。也支持从MS Word或者其他文档编辑器中拖拽插入数据。还支持拖拽文档内容来编辑文档内容。
痕迹保留和权限控制
DCWriter支持痕迹保留和权限控制。实现的功能点有:
1. 分等级的权限控制
DCWriter支持分等级的权限控制。用户能向编辑器登记用户登录信息并指定用户的权限等级,用户权限等级是一个整数,数值越大则权限就越高。低权限的用户不能修改和删除高权限的用户输入的文档内容,而高权限的用户能修改和删除低权限的用户输入的内容;而且低权限用户输入的内容被高权限的用户修改了样式后,则这些内容就转而属于高权限的用户的,此时低权限用户就不能修改和删除这些曾经由自己输入的内容了。
DCWriter编辑器提供一种管理员模式,当运行在该模式下,权限控制无效,文档中的任意部分都可修改。
2. 逻辑删除和物理删除
DCWriter支持逻辑删除和物理删除,逻辑删除就是程序并不删除文档内容,而是标记为逻辑删除了,不可见。此时当编辑器允许显示逻辑删除的内容时,这些被隐藏的内容又显示出来了,此时会附加上红色删除线的标记。
物理删除就是真正的删除文档内容,此时被删除的内容就不再存在,也就不可能再次显示出来了。
3. 痕迹保留和再现
DCWriter支持痕迹保留和再现。能以单条蓝色下划线显示权限等级为1(一般对应于主治医师)输入的内容;以蓝色双下划线显示权限等级大于等于2(一般对应于主任医师)输入的内容;以单条红色删除线显示被权限等级为1的用户逻辑删除的内容;以红色双删除线显示被权限等级大于等于2的用户逻辑删除的内容。
当鼠标移动到标记了痕迹信息的文档内容上面时会显示相关的提示文本进行详细说明。如下图所示,这段文档就留下了用户修改痕迹:
在这里,被红色删除线标注的文档内容就是被逻辑删除的部分。当编辑器不显示逻辑删除的内容时,这段文档就显示如下:
当不显示修改痕迹时,也就是处于整洁显示模式下,此时文档内容显示如下:
DCWriter支持整洁打印,此时打印出来的文档不显示被逻辑删除的内容,也不会显示权限标记。在进行整洁打印时,当文本编辑器处于整洁视图模式下,支持续打、支持打印当前页。若文本编辑器显示了用户修改痕迹时,不支持续打,也不支持打印当前页的功能。
输入域
DCWriter支持输入域的功能,应用系统据此能实现半结构化文档的功能。
DCWriter支持文本输入域,如下所示:
当插入点在文本输入域中或者鼠标光标悬停在文本输入域的上面时,整个文本输入域就会以蓝色背景高亮度显示,以提醒用户。
文本输入域可以设置背景文本,例如:
当这个文本输入域中没有任何内容时,就会显示灰色的背景文本以提醒用户。当用户输入了内容后,就不再显示背景文本了。
文本输入域可以设置为带有数据校验格式的,例如:
这个年龄输入域设置为不得为空,而且只能输入数字,最小值为0,最大值为150,当输入的数据不符合校验格式时,系统会自动设置为红色背景高亮度显示,当鼠标移到输入域上面是还会显示错误提示信息。
DCWriter还支持时间日期数据的输入,并显示用户界面让用户选择时间日期。例如下面是一个日期数据输入域:
当插入点在文本输入域时按下F2键或者鼠标双击输入域,则会弹出日期选择界面,而用户就可以在这个界面中选择日期值了。
DCWriter支持时间日期输入域,如下所示:
DCWriter还支持下拉列表方式编辑输入域的值,例如:
该输入域能弹出下拉列表来帮助录入数据,在这个列表中,用户可以鼠标点击操作选择列表项目,而可以输入拼音码来快速定位列表项目。这里的拼音码是根据列表中显示的文本自动生成的,无需维护。
这个下拉列表还可以设置为多选,例如:
而且这个列表中的列表项目既可以在编辑文档时录入,也可以通过编程从其他地方加载,比如从数据库加载。
医学表达式
DCWriter目前支持2种医学表达式,如下所示:
具有4个文本的医学表达式: 。
当用户用鼠标双击医学表达式或者选中表达式按下F2键,则医学表达式进入编辑模式,此时显示为:[2012年05月29日,Value2,Value3,Value4]。在这里用户可以直接编辑医学表达式的内容,而且可以套嵌插入输入域来编辑数值。
具有3个文本的医学表达式: 。
处于编辑状态下的医学表达式:[Value1,Value2,Value3]。
条形码
DCWriter支持30种条码.
单选框、复选框
DCWriter支持单选框和复选框。入下图所示:
对于单选框,当鼠标点击设置了勾选状态后,同组的其他单选框就会去掉勾选状态,而且当鼠标光标移动到单选或者复选框上时,系统会以蓝色背景高亮度突出显示同组的其他的单选框或复选框的。
级联模板
DCWriter支持级联模板,能根据当前输入域中的值来动态的设置文档其他部分是否可见,而且这种操作是可以套嵌的。例如:
在这里,当用户选择了“吸烟”,则后面的详细描述吸烟的文本片段将显示出来。
当用户选择了“不吸烟”或者为空时,后面的详细描述吸烟的文本片段将自动隐藏掉。如下图所示:
这个过程是可逆的,也就是说,当后面文本片段隐藏后,若用户再次设置“吸烟”值,则后面的那段文本又显示出来了。
级联模板时可以套嵌的,如下图所示:
当用户选择“有戒烟治疗”时,后面的详细描述戒烟治疗的文本片段会显示出来,当用户选择“无戒烟治疗”时,后面的文本就会隐藏掉,如下图所示:
DCWriter支持更复杂的级联模板功能。
数据源绑定
DCWriter中的文本输入域域可以绑定数据源,文档对象有一些内置参数,字段域就可以绑定到这些参数来显示参数值。
字段域也可以修改绑定的数据源,比如编辑控件有一个ServerObject属性,将数据源对象设置到该属性上,然后可以在文档中使用参数名ServerObject来获得该对象,并可读取或设置该对象的属性值。
关于数据源绑定的详细信息可以参考后续相关章节。
表达式
DCWriter支持表达式,例如“len( value ) > 3 && value < 999 ”,表达式文本不区分大小写,但字符串值是区分大小写的。目前支持的运算有:
逻辑运算:运算符有“OR”逻辑或、“AND”逻辑与、“NOT”逻辑反。
数学运算:支持加减乘除、“MOD”取模,支持圆括号修改运算优先级。
函数:DCWriter支持以下内置函数
ABS(V) |
获得绝对值。 |
||
ACOS(V) |
计算反余弦值。 |
||
ASIN(V) |
计算反正弦值。 |
||
ATAN(V) |
计算反正切值。 |
||
ATAN2(X,Y) |
计算反正切值。 |
||
AVERAGE(X1,X2...) |
计算算术平均值。 |
||
CDOUBLE(V,DefaultValue) |
将指定数据转换为浮点数,第二个参数为转换失败后的返回的默认值。 |
||
CEILING(V) |
获得大于等于指定数值的最小整数。 |
||
CINT(V,DefaultValue) |
将指定数据转换为整数,第二个参数为转换失败后返回的默认值。 |
||
COS(V) |
|