打开文件
下图和以下步骤说明了如何在 ONLYOFFICE 文档中打开文档。
- 用户通过浏览器中的文档管理器打开文档进行查看或编辑。
- 文档管理器使用一个
config对象初始化文档编辑器,该对象包含文档的key、url及其他必需参数。 - 文档编辑器使用从文档管理器接收到的
config,向文档编辑服务发送打开文档的请求。 - 文档编辑服务使用提供的
url从文档存储服务下载文档文件。如果文件尚未处于编辑器的原生格式之一(.docx、.xlsx、.pptx或.pdf),则会在此步骤中进行转换,以便文档编辑器能够以原生方式处理该文件。 - 准备就绪后,文档编辑服务将文档文件传输到文档编辑器。
- 文档编辑器显示文档文件,并在用户拥有适当权限时允许编辑。
编辑完成后,文档将被保存。
如何在实践中做到这一点
-
创建一个空的
.html文件。 -
添加
<div>元素,如下所示:<div id="placeholder"></div> -
在您的页面中引入 ONLYOFFICE 文档的 JavaScript API 脚本:
<script type="text/javascript" src="https://documentserver/web-apps/apps/api/documents/api.js"></script>其中
documentserver是安装了 ONLYOFFICE 文档的服务器的名称。api.js脚本由文档编辑服务提供;它会加载文档编辑器并将其连接到同一服务。提示还没有文档服务器?可注册一个免费的 ONLYOFFICE 文档云,并使用您实例的公共 IP 地址或公共 DNS 名称作为
documentserver。这些信息可以在云控制台的实例部分找到。 -
添加脚本,使用要打开的文档的配置为
<div>元素初始化文档编辑器:const config = {document: {fileType: "docx",key: "Khirz6zTPdfd7",title: "Example Document Title.docx",url: "https://example.com/url-to-example-document.docx",},documentType: "word",token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkb2N1bWVudCI6eyJmaWxlVHlwZSI6ImRvY3giLCJrZXkiOiJLaGlyejZ6VFBkZmQ3IiwidGl0bGUiOiJFeGFtcGxlIERvY3VtZW50IFRpdGxlLmRvY3giLCJ1cmwiOiJodHRwczovL2V4YW1wbGUuY29tL3VybC10by1leGFtcGxlLWRvY3VtZW50LmRvY3gifSwiZG9jdW1lbnRUeXBlIjoid29yZCJ9.7IpEJxdOvBQ0kJ8l6ZegIV4tX5vsPbZZCDDVmcFROXc",};const docEditor = new DocsAPI.DocEditor("placeholder", config);请将
example.com替换为托管您文档文件的主机,即您的文档存储服务。在此最简示例中,本地.html文件扮演了文档管理器的角色 —— 在实际集成中,文档管理器会针对每个用户和每个文档动态生成此config。如果您不想自行托管文件以快速测试,可使用https://static.onlyoffice.com/assets/docs/samples/demo.docx作为url。警告当文档服务器启用 JWT 校验(默认配置)时,
config必须使用与之匹配的token进行签名。上方的token与此精确的config相匹配,但它使用一次性密钥签名 —— 在您的服务器上将无法通过校验,且每当config变更时(例如将url切换为上述示例文档)都必须重新生成。请使用您文档服务器的 JWT 密钥进行签名。令牌不会绕过网络限制:如果url指向本地或私有地址,文档服务器仍必须能够访问该地址。 -
在浏览器中打开您的
.html文件。