软航版式文档签批系统集成前期准备
软航版式文档签批系统集成步骤
01
在html页面引入SDK
<head>
  <script src="document-viewer.js?a=" + Math.round(Math.random()*100000000,0)></script>  //为保证加载到的SDK库是最新的,可以加一个随机数确保刷新,避免更换产品SDK之后浏览器端加载的不是最新的
</head>02
在页面创建软航版式文档阅读器的盛放容器
• 您可以在您的html页面指定某个页面元素如div作为航版式文档阅读器的盛放容器,注意设定容器唯一ID,该容器ID后续会使用到。
• 参考代码如下:
<body>
  <div id="viewer"></div>  <!-- 容器高度建议设置为800px以上,根据具体情况调整容器高宽 -->
</body>03
创建软航版式文档阅读器对象
• 软航版式文档签批系统提供标准SDK库供各类信息系统集成使用,通过在业务系统中只需要引入SDK库即可调用提供的接口实现各项功能需求。
• 引入软航版式文档签批系统SDK库文件:document-viewer.js之后,您就可以通过定义一个全局变量如docReader作为创建的软航版式文件阅读器对象。
• 全局变量声明方法参考代码:
// 或全局变量声明 newDocumentSDK方法为软航版式文档签批系统SDK:document-viewer.js 提供
var docReader = document.newDocumentSDK(); 04
软航版式文档阅读器事件回调处理
• 为保障软航版式文档阅读器的事件回调处理正常,必须在嵌入前注册回调,否则事件可能无法触发。
• 软航版式文档阅读器的事件回调参考代码如下:
function createReader() {
  //docReader  = document.newDocumentSDK(); //若您声明的软航版式文档阅读器对象是全局变量直接使用即可,若是局部变量则根据情况重新创建
  
  // 关键:在嵌入阅读器embedReader前注册事件,registerCallbacks方法用于注册 该方法是自定义的js function
  registerCallbacks(); 
  
  // 嵌入阅读器
  docReader.embedReader(); //embedReader 方法详解请看下文
}// 回调注册方法 具体内容 
function registerCallbacks() {
  // 1.  addReaderReadyCallback 阅读器加载完毕的回调 
  docReader.addReaderReadyCallback(()  => {
    console.log(' 阅读器初始化完成');
    
    // 设置当前用户  阅读器加载完毕 可以用setSessionUser方法设定签批用户信息
    docReader.setSessionUser({ 
      userName: '测试用户513', //可选,string类型,签批用户名
      userId: 'DemoUser513'   //可选,string类型,签批用户Id,Id信息唯一
    });
    
    // 如果需要实现阅读器加载之后立马打开文档,就在addReaderReadyCallback 阅读器加载完毕的回调里调用打开文档的方法如openPDFDocument、openOfdDocument等方法
    var pdfDemoFileDownloadUrl="http://192.168.0.164:1987/docserver200/docs/document1.pdf";
    var pdfDemoFileUploadUrl="http://192.168.0.164:1987/docserver200/upload.jsp";
    docReader.openPDFDocument({ 
      fileName: '测试pdf文档',
      fileUrl: pdfDemoFileDownloadUrl,  //pdfDemoFileDownloadUrl 为PDF文件的下载地址
      uploadUrl: pdfDemoFileUploadUrl //pdfDemoFileUploadUrl 为PDF文件上传地址
    });
  });
 
  // 2. 其他重要事件回调 根据实际情况写到此处即可
  //更多事件回调参考《软航版式文档签批系统集成手册》
}05
将软航版式文档签批系统阅读器嵌入页面
var readerServerURL="http:192.168.0.216:8099/";onload事件或框架生命周期钩子)嵌入阅读器。<body onload="createReader()">function createReader() {
  //docReader  = document.newDocumentSdk(); //若您声明的软航版式文档阅读器对象是全局变量直接使用即可,若是局部变量则根据情况重新创建
  
  // 关键:在embedReader前注册事件,registerCallbacks方法用于注册 该方法是自定义的js function
  registerCallbacks(); 
  
  // 嵌入阅读器
      docReader.embedReader(
      "viewer",                  // 参数1 必选,容器ID或DOM元素
      readerServerURL,  // 参数2 必选,软航版式文档签批系统阅读器服务地址
      {                          // 参数3 阅读器初始配置选项(可选)
          viewMode: 'View',        //参数viewMode,可设置内容 View:阅读模式|Annotation:批注模式|DigitalSign:签章模式
          language: 'zh_CN'        //参数language即 语言选择,zh_CN|en_US 默认zh_CN中文
      }
    ); 
}06
软航版式文档签批系统打开文档方法简介
// 调用openOFDDocument打开OFD文件代码参考
function OpenOFDFile(){
  // 构建OFD文档打开的参数
    var fileOptions = {
        fileName: 'test.ofd', //打开的OFD文件名
        fileUrl: 'http://192.168.0.168:1988/ServletDemo/down?filename=test.ofd',  //远程OFD文档下载地址
        uploadUrl:'http://192.168.0.168:1988/ServletDemo/Save?filename=test.ofd',  //OFD文档上传地址
        readOnly: false //表示文档可以签批且支持提交到服务器,true表示只能查看。
    };
   docReader.openOfdDocument(fileOptions); //调用软航版式文档阅读器对象的openOfdDocument打开远程服务器上的OFD文件
}07
设定签批用户信息方法介绍
//docReader为软航版式文档阅读器对象
 docReader.setSessionUser({userName: '测试用户', userId: 'demo'});08
页面关闭销毁阅读器
<body onload="createReader()" onunload="removeReader()">// 原生JS示例
function removeReader() {
    docReader.removeReader();
}