一.引言

1.概述
目的
本文档说明了DCWriter电子病历编辑器第五代Web版本的接口声明、参数及使用方法等,主要提供有软件编程能力且对电子病历系统功能熟悉的开发人员进行扩展功能开发使用。
系统概述
约定
通过前端获取编辑器控件对象,代码如下:
var ctl = document.getElementById("myWriterControl");

var myWriterControl = document.getElementById("myWriterControl");
环境和安装
本控件对服务端没有特殊要求,包含Windows、Linux以及各类国产操作系统。
本控件的功能百分之98以上都是浏览器上通过js实现,对服务器的性能相对来说不是那么看重了,只有导出pdf、rtf、word、自定义打印功能等很小部分需要进行服务端交互。
本控件是由前端div元素,引用两个js文件,浏览器加载就可以把本控件通过canvas技术绘制出来。
<div id="writercontrol" dctype="WriterControlForWASM" style="height: 1200px; " RegisterCode="">正在加载... </div>
<script src="https://www.dcwriter.cn:8099/Jquery/ jquery-1.7.2.min.js "></script>
<script src=" https://www.dcwriter.cn:8099/ServicePage.aspx?wasmres=dcwriter5.js"></script>
jquery-1.7.2.min.js文件为控件提供jq语法的使用,对这个文件的版本没有要求。
https://www.dcwriter.cn:8099/ServicePage.aspx?wasmres=dcwriter5.js 文件的引用为控件的功能提供前端所需要js资源文件依赖。
布署
windows服务器:
由南京都昌提供windows四代服务包和五代编辑器发布包,第一步先把南京都昌提供的四代服务包部署在IIS上,部署成功之后通过浏览器地址栏访问:服务器IP:端口号/ServicePage.aspx?dcaboutcontrol=1,界面出现编辑器的内容表示四代服务部署成功,然后在四代服务包根目录下创建文件夹dcwriter5files,也就是ServicePage.aspx文件同级,然后把五代发布包里面的_framework文件夹里面所有的文件拷贝到创建的dcwriter5files文件夹里面,然后浏览器地址栏访问:服务器IP:端口号/ServicePage.aspx?wasmres=dcwriter5.js,出现js源码,表示五代编辑器所需要的环境已经在windows上搭建好了。也可以联系南京都昌技术人员远程搭建五代编辑器所需要的环境。
Linux服务器:
由南京都昌提供Linux四代服务包和五代编辑器发布包,第一步先把南京都昌提供的四代服务包部署在Linux上,部署成功之后通过浏览器地址栏访问:服务器IP:端口号/MyWriter/MoreHandleDCWriterServicePage?dcaboutcontrol=1,界面出现编辑器的内容表示四代服务部署成功,然后在四代服务包根目录下创建文件夹dcwriter5files,也就是MyWriterMvcCore.dll文件同级,然后把五代发布包里面的_framework文件夹里面所有的文件拷贝到创建的dcwriter5files文件夹里面,然后浏览器地址栏访问:服务器IP:端口号/MyWriter/MoreHandleDCWriterServicePage?wasmres=dcwriter5.js,出现js源码,表示五代编辑器所需要的环境已经在Linux上搭建好了。也可以联系南京都昌技术人员远程搭建五代编辑器所需要的环境。
五代编辑器注册(2023年11月20日之后的五代编辑器版本):
五代编辑器重新修改了注册机制,由2023年11月20日之前由服务器注册修改成前端注册。在前端项目编辑器div中的属性RegisterCode写入注册码。由客户提供服务器的IP地址或者服务器使用的域名和注册名称给商务。
通过在前端div中引用类似于以下的路径来加载五代编辑器所需要的资源文件: https://www.dcwriter.cn:8099/ServicePage.aspx?wasmres=dcwriter5.js 那只需要提供项目中引用路径(? wasmres=dcwriter5.js)前面的地址给商务,然后再提供项目注册名称(详细信息请咨询商务)即可,商务申请完毕即会提供一个注册码,放入到前端编辑器DIV属性RegisterCode即可完成注册。
2.创建
自动创建编辑器
第一步:在HTML页面中引入jQuery和dcwriter5js。
<script src="http: //www.dcwriter.cn:8023/Jquery/ jquery-1.7.2.min.js "></script>
<script src=" https://www.dcwriter.cn:8099/ServicePage.aspx?wasmres=dcwriter5.js"></script>
第二步:写入编辑器的元素
<div id="myWriterControl" dctype="WriterControlForWASM" OnLoad="this.LoadDocumentFromString(strtest, 'xml');"> 正在加载...</div>
查看参考demo
手动创建编辑器
动态创建编辑器可以在dcwriter5js和jq加载完成后,手动调用window.CreateWriterControlForWASM(ctl)函数创建。
另外动态创建需要配合autoCreateControl="false"属性使用,此属性可以禁止编辑器自动创建。

第一步:设置容器:
<div id="myWriterControl" dctype="WriterControlForWASM" autoCreateControl="false"> 正在加载...</div>
第二步:手动调起创建
window.CreateWriterControlForWASM(newCtl);
newCtl.LoadDocumentFromString(strxmldate, 'xml', null, function (result) {
    alert('加载错误时会触发此回调')
});
查看参考demo
动态请求创建编辑器
在使用http请求并成功响应后,可自动调用window.CreateWriterControlForWASM(ctl)创建编辑器。

第一步:设置容器:
<div id="myWriterControl" dctype="WriterControlForWASM" autoCreateControl="false"> 正在加载...</div>
第二步: EventBeforeCreateControl事件可以在js加载完成后自动触发
newCtl.EventBeforeCreateControl = function () {
window.CreateWriterControlForWASM(newCtl);//手动加载编辑器
newCtl.LoadDocumentFromString(strxmldate, 'xml', null, function (result) {
    alert('加载错误时会触发此回调')
});
}
查看参考demo