本手册由软航科技Markdown编辑器自动生成,最后更新时间:📅 2025/09/28
教程 中级 JavaScriptJava前端后端DevOps

📖 文档摘要

本指南详细介绍软航版式文档签批系统的集成方法,包括SDK引入、容器创建、对象初始化、事件回调处理、阅读器嵌入、文档打开、用户信息设定和资源销毁等8个核心步骤。通过本指南,开发者可以快速掌握如何在HTML5浏览器中集成软航版式文档签批系统,实现PDF/OFD文档的在线阅读、批注和签章功能。系统支持多种浏览器环境,提供完整的API接口和事件回调机制,是构建电子公文、电子证照、电子票据等版式文档处理系统的理想解决方案。

软航版式文档签批系统集成入门指南

软航版式文档签批系统集成前期准备

软航版式文档签批系统集成步骤

1、在html页面引入SDK

<head>
  <script src="document-viewer.js?a=" + Math.round(Math.random()*100000000,0)></script>  //为保证加载到的SDK库是最新的,可以加一个随机数确保刷新,避免更换产品SDK之后浏览器端加载的不是最新的
</head>

2、在页面创建软航版式文档阅读器的盛放容器

您可以在您的html页面指定某个页面元素如div作为航版式文档阅读器的盛放容器,注意设定容器唯一ID,该容器ID后续会使用到。
参考代码如下:

<body>
  <div id="viewer"></div>  <!-- 容器高度建议设置为800px以上,根据具体情况调整容器高宽 -->
</body>

3、创建软航版式文档阅读器对象

// 或全局变量声明 newDocumentSDK方法为软航版式文档签批系统SDK:document-viewer.js 提供
var docReader = document.newDocumentSDK();

4、软航版式文档阅读器事件回调处理

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. 其他重要事件回调 根据实际情况写到此处即可
  //更多事件回调参考《软航版式文档签批系统集成手册》
}

5、将软航版式文档签批系统阅读器嵌入页面

var readerServerURL="http:192.168.0.216:8099/";
<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中文
    }
    ); 
}
参数 可选值 默认值 说明
viewMode View/Annotation/DigitalSign View 可设置内容 View:阅读模式、Annotation:批注模式、DigitalSign:签章模式
language zh_CN/en_US zh_CN 界面语言

6、软航版式文档签批系统打开文档方法简介

参数名称 可选/必选 数据类型 参数说明
fileOptions 可选 JSON 参数采用键值对形式,具体参见下文代码参考部分
// 调用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文件

}

7、设定签批用户信息方法介绍

参数名称 可选/必选 数据类型 参数说明
userName 可选 string 签批用户名
userId 可选 string 签批用户ID信息,唯一

8、页面关闭销毁阅读器

❓ 常见问题FAQ

Q: 软航版式文档签批系统支持哪些文件格式?

A: 支持PDF、OFD等版式文档格式,同时支持Office类型文件的在线预览。系统基于HTML5技术实现,可在Chrome、360极速、火狐、奇安信等现代浏览器中运行。

Q: 如何确保文档签批的安全性?

A: 系统提供用户身份验证、签批权限控制、文档只读模式等安全机制。通过setSessionUser方法设定签批用户信息,支持readOnly参数控制文档编辑权限。

Q: 集成时需要注意哪些技术要点?

A: 关键要点包括:1)确保SDK文件路径正确;2)在embedReader前必须注册事件回调;3)容器高度建议800px以上;4)页面关闭时调用removeReader释放资源;5)服务地址配置正确。

Q: 支持哪些阅读模式?

A: 支持三种模式:View(阅读模式)、Annotation(批注模式)、DigitalSign(签章模式)。可通过embedReader方法的viewMode参数进行配置。

Q: 如何处理文档上传和下载?

A: 通过fileUrl参数指定文档下载地址,uploadUrl参数指定文档上传地址。上传处理类似表单附件上传,默认文件域为fileUpload。也支持base64格式的文档数据。