打通文档与签章:详解OnlyOffice API集成电子签的架构与核心代码

60 阅读5分钟

随着数字化办公和在线签署的普及,电子签章和电子合同已经成为企业与组织必不可少的工具。OnlyOffice 提供了一系列强大的文档编辑和协作功能,而与 e签宝 / 法大大 等电子签章平台的结合,能够极大地提高企业在合同管理、审批流转和签署环节的效率。

本文将详细介绍 OnlyOffice API 在电子签章集成方案中的使用,以及如何通过其强大的开放能力实现从文档编辑到签署的完整流程。

一、项目背景与目标

1. 电子签章与电子合同的需求

电子签章作为数字化办公的核心组成部分,解决了传统纸质签署文档的低效率问题。对于现代企业来说,电子签章不仅要确保文档签署的合规性,还需要高效、灵活的文档管理和多人协作能力,尤其是在合同审批和流程管理方面。

为了实现这些目标,OnlyOfficee签宝 / 法大大 的集成提供了一种高效的解决方案,通过深度集成和 API 接口的调用,我们能够将在线文档编辑、签署、存证等环节无缝连接,确保文档的合法性和不可篡改性。

2. OnlyOffice 的关键能力

OnlyOffice 提供了强大的文档处理能力,特别是在以下几个方面:

  • 文档编辑与多人协作
  • 文档格式转换
  • 文件存储与管理
  • 权限控制与安全性

这些能力,结合 e签宝法大大 的电子签章服务,能够实现无缝的文档创建、编辑、签署和存证流程。

二、系统架构与集成流程

1. 整体流程图

2. 调用的 OnlyOffice API 与接口

在集成方案的各个步骤中,以下是主要调用的 OnlyOffice API 和其开放能力,详细描述了它们在文档创建、协作、转换和签署中的作用。

2.1 文档编辑与多人协作

2.1.1. 加载文档并开始编辑

通过 OnlyOffice 提供的 文档编辑 API,用户可以加载并编辑合同文档。在多人协作过程中,所有用户的修改都可以实时同步,确保编辑的一致性。

  • 调用的 APIEditor.createDocument
  • 功能:加载并初始化文档,支持 DOCX、XLSX、PPTX 等格式。
  • 实现方式:通过 API 加载文档,并在浏览器中提供实时编辑界面。
const editor = new OnlyOffice.Editor({
  document: {
    fileName: "contract.docx",
    url: "/path/to/document"
  },
  mode: "edit",  // 编辑模式
  permissions: {
    edit: true,  // 允许编辑
    download: false // 不允许下载
  }
});
2.1.2. 实时协作 API

通过 WebSocketWebRTC,OnlyOffice 实现了多人实时协作编辑功能,多个用户可以同时在同一文档中编辑,并且编辑内容即时同步。

  • 调用的 APICollaboration.startCollaboration
  • 功能:启动多人协作,确保文档的同步更新。
  • 实现方式:每个用户的编辑操作都会通过 WebSocket 实时传输到其他用户的浏览器中,确保所有人都能看到最新的文档内容。
const collaboration = new OnlyOffice.Collaboration({
  documentId: "contract-doc-12345",
  permissions: {
    edit: true,
    view: true
  },
  websocket: "wss://yourserver.com/ws"  // WebSocket 服务地址
});
collaboration.start();

2.2 文件管理与存储

2.2.1. 上传与下载文档

在文档编辑完成后,文档需要上传到指定的存储服务中,并供后续的格式转换与签章使用。OnlyOffice API 提供了文件上传和下载接口,用于将文档从客户端上传到服务器,以及从服务器下载文件。

  • 调用的 APIFileStorage.uploadFileFileStorage.downloadFile
  • 功能:上传文件至存储位置,下载文档。
  • 实现方式:使用 API 将编辑后的文件上传至指定存储服务,便于后续操作。
const uploadFile = (filePath) => {
  const formData = new FormData();
  formData.append("file", filePath);

  fetch('/upload', {
    method: 'POST',
    body: formData
  });
};

const downloadFile = (fileId) => {
  fetch(`/download/${fileId}`)
    .then(response => response.blob())
    .then(blob => {
      const link = document.createElement('a');
      link.href = URL.createObjectURL(blob);
      link.download = 'contract_signed.pdf';
      link.click();
    });
};

2.3 文档格式转换

在文档定稿后,我们需要将文档转换为 PDF 格式以便进行签章。OnlyOffice API 提供了文档格式转换的能力,可以将 DOCX、XLSX 等格式的文档转换为 PDF 格式。

  • 调用的 APIConversion.convert
  • 功能:将 DOCX、PPTX 等格式文档转换为 PDF 格式,方便签署。
  • 实现方式:在后台调用格式转换 API,将文档转换为最终签署需要的 PDF 格式。
const convertToPDF = (documentId) => {
  fetch(`/convert/${documentId}`, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      targetFormat: 'pdf'
    })
  })
  .then(response => response.json())
  .then(data => {
    console.log('Converted PDF:', data.fileUrl);
  });
};

2.4 电子签章与存证

一旦文档转换为 PDF 格式,我们就可以将其提交到 e签宝法大大 等电子签章平台进行签署。通过调用 e签宝 / 法大大 的 API,我们可以发起签章请求,并获取签章结果。

  • 调用的 APIeSignature.startSigningeSignature.signatureCallback
  • 功能:发起电子签章请求,接收签章回调。
  • 实现方式:通过 API 向电子签章平台发起签章请求,签章完成后,系统会回调并更新文档状态。
const initiateSigning = (documentId, signerInfo) => {
  fetch('/esignature-api/start', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      documentId: documentId,
      signerInfo: signerInfo,
      signPosition: 'bottom-right', // 签章位置
      signType: 'digital' // 数字签章
    })
  })
  .then(response => response.json())
  .then(data => {
    console.log('Sign request started:', data);
  });
};

const handleSignatureCallback = (signatureData) => {
  // 处理签章结果,如更新文档状态
  console.log('Signature completed:', signatureData);
};

三、提升数字化办公效率的全新解决方案

在文档的编辑、签署与存证的过程中,OnlyOffice 提供的开放 API 能够为企业带来无缝对接的高效体验,确保文档从创建到签署全过程的合规与安全。

与此同时,为了进一步提升您的办公体验,我们即将在 12月底 推出一款全新的 在线文档预览产品(非OnlyOffice 系产品) 。这款产品将支持包括 Office 文件、CAD 文件、3D 模型、图片、流程图、脑图、代码文件等数百种格式的预览,不仅能够为您的团队提供更高效的文档管理和共享方式,还能在各种场景下流畅、快速地预览文档,无需本地安装任何软件。无论是项目管理、文档审阅,还是合同签署,我们的产品都将帮助您更轻松地实现高效办公。

如您正寻找一款能够支持多种格式的文档预览工具,我们即将发布的产品值得您期待。社区版将于 12月底 免费开放试用,届时欢迎您体验更多功能。

相关资源

 OnlyOffice最新版本镜像,可访问:  OnlyOffice9.x  

版本介绍:  documentserver 中国版  

OnlyOffice 中国版技术交流:qm.qq.com/q/uMwFyL5Wn…