docker搭建部署 onlyoffice 实现前端集成在线解析文档解决方案

最近有一个需求 需要实现 在线编辑预览 word excel ppt pdf 文档。对于文档操作 我们一般用的最多 是wps 和office 。但是这类软件都是客户端软件。对于我们软件开发 是满足不了需求的,我们要满足在线编辑预览文档,就需要做一种类似 云文档 在线编辑预览的功能,就发现了 onlyoffice 软件。这个软件 他也有 客户端 exe 。如果你对文档没有什么要求,只是简单的预览 或者编辑 也可以给电脑上装这个onlyoffice软件,他是无广告的,满足平时的使用还是可以的。

官网地址:
https://www.onlyoffice.com/

但是对于我们要做云文档管理,肯定装客户端不行,我们需要利用它搭建一个服务端,为我们提供云文档解析的功能。

今天这个文章就是主要给大家分享 我们怎么使用docker 来部署 onlyoffice 服务。

onlyoffice官方docker安装文档:
https://helpcenter.onlyoffice.com/docs/installation/docs-developer-install-docker.aspx?from=api

  1. docker 安装 这就不说了 自行百度。
  2. docker 下载 onlyoffice 镜像
bash 复制代码
docker pull onlyoffice/documentserver

然后就是 启动 即可,对于启动 我们就不采用 文档里的 直接使用docker run 命令启动。而是 创建 一个 yml文件 进行启动。

这些都是docker的相关知识,这里就不一一细说了。我直接就来分享 yml文件里的内容

docker yml文件启动方式:

bash 复制代码
docker compose -f docker-compose-onlyoffice.yml up -d

如果我们修改了yml配置信息,重新生效 停止并删除由 docker-compose.yml 文件中定义的所有容器、网络和卷。执行下面命令后然后再重新启动即可:

bash 复制代码
docker compose -f docker-compose-onlyoffice.yml down

yml文件内容:

对于前端怎么调用这个服务 和怎么配合后端使用,这篇文章就不介绍了。

而且这个onlyoffice服务 也支持java等编程语言 调用 可以自由生成各种类型的文档,具体实现方式,大家可以去看官方文档即可。

官方文档地址:https://api.onlyoffice.com/zh-CN/docs/docs-api/usage-api/advanced-parameters/

only是可以开启 token验证的,如果开启了 token验证,在传参调用的时候 就需要加密 参数验证。

以java为例:

bash 复制代码
<dependency>
    <groupId>com.inversoft</groupId>
    <artifactId>prime-jwt</artifactId>
    <version>1.3.1</version>
</dependency>
bash 复制代码
  public static String getToken( String config ){

        // config  需要发给only的参数
        JSONObject jsonObject = JSON.parseObject(config);
         //这个key 就是 JWT_SECRET 参数  可在docker - yml文件里配置
        String tokenSecret = "如果开启了 jwt 需要这个key ";
        Map<String, Object> payloadClaims = BeanUtil.beanToMap(jsonObject);
        String token = "";
        try {
            Signer signer = HMACSigner.newSHA256Signer(tokenSecret);
            JWT jwt = new JWT();
            for (String key : payloadClaims.keySet()) {
                jwt.addClaim(key, payloadClaims.get(key));
            }
            token = JWT.getEncoder().encode(jwt, signer);
        } catch (Exception e) {
            token = "";
        }
        return token;
    }

请求only office 参数例 多一个 token key即可。 {"token":"211dsda"}

对于 docker-compose-onlyoffice.yml 里的配置参数 文档是都是有说明的,如果上面分享的yml文档的参数不够用,大家可以去官方文档自行添加即可。

写的非常清楚,下面是我再官方文档上 部分参数截图。

最后 上面分享 的关于docker的yml启动文件,有需要的小伙伴可以自行去下载使用!
https://wwwoop.com/home/Index/projectInfo?goodsId=103&typeParam=3&subKey=2

相关推荐
小小管写大大码4 小时前
如何让vscode变得更智能?vscode接入claude实现自动编程
运维·ide·vscode·自动化·编辑器·ai编程·腾讯云ai代码助手
zhang133830890755 小时前
CG-09H 超声波风速风向传感器 加热型 ABS材质 重量轻 没有机械部件
大数据·运维·网络·人工智能·自动化
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.6 小时前
Keepalived VIP迁移邮件告警配置指南
运维·服务器·笔记
物联网软硬件开发-轨物科技6 小时前
【轨物洞见】告别“被动维修”!预测性运维如何重塑老旧电站的资产价值?
运维·人工智能
程序员允诺6 小时前
[DevOps实战] 彻底解决依赖地狱:如何编译全静态、可移植的 Xorriso 工具
运维·devops
酣大智6 小时前
接口模式参数
运维·网络·网络协议·tcp/ip
一只自律的鸡7 小时前
【Linux驱动】bug处理 ens33找不到IP
linux·运维·bug
!chen7 小时前
linux服务器静默安装Oracle26ai
linux·运维·服务器
莫大3307 小时前
2核2G云服务器PHP8.5+MySQL9.0+Nginx(LNMP)安装WordPress网站详细教程
运维·服务器·nginx
刚刚入门的菜鸟7 小时前
php-curl
运维·web安全·php