onlyoffice集成实现编辑预览

这篇具有很好参考价值的文章主要介绍了onlyoffice集成实现编辑预览。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

ONLYOFFICE 文档开发者版ONLYOFFICE Docs 是一款功能强大的在线编辑器,适用于文本文档、电子表格、演示文稿和表格。创建复杂的文档、专业的电子表格和令人惊叹的演示文稿。支持的常用 Office 和文档格式:docx、xlsx、pptx、odt、ods、odp、doc、xls、ppt、pdf、txt、rtf、html、epub、csv。完全兼容 OOXML(Office Open XML)格式。使您的用户能够在您自己的应用程序中在浏览器中在线编辑、共享和协作处理文档。

OnlyOffice官网地址

版本说明

  • 社区版(免费,最高20个可同时连接,推荐最高20个用户数)
  • 企业版(付费,根据价格可选择用户数)
  • 开发者版(付费,根据价格可选择用户数)

点我查看版本对比,主要区别如下:
onlyoffice集成实现编辑预览
本文是基于社区版进行开发集成

一、使用docker方式进行安装

官方文档地址

1. 系统要求

  • 中央处理器 双核2 GHz或更高
  • 内存 4 GB或更多
  • 硬盘 至少40 GB的可用空间
  • 交换 至少4 GB,但取决于主机操作系统。越多越好
  • 操作系统 内核版本为3.10或更高版本的amd64 Linux 发行版
  • 其他要求 Docker:Docker 团队支持的任何版本

2.安装docker

如果已经安装忽略此步骤

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config  # 永久
setenforce 0  # 临时

# 关闭swap
swapoff -a  # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum -y install docker-ce
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF
systemctl enable docker && systemctl start docker

3.安装onlyoffice文件服务器

docker run -i -t -d -p 8089:80 --restart=always onlyoffice/documentserver

说明
Document Server的数据在容器中的储存位置如下:

  • /var/log/onlyoffice对于ONLYOFFICE 文档日志
  • /var/www/onlyoffice/Data证书
  • /var/lib/onlyoffice用于文件缓存
  • /var/lib/postgresql对于数据库

可以用docker exec -it [容器id] bin/bash进入容器
也可以将以上两个目录映射到本地
创建目录:

mkdir -p /app/onlyoffice/DocumentServer/logs
mkdir -p /app/onlyoffice/DocumentServer/data
....

将目录映射至本地:

docker run -i -t -d -p 8089:80 --restart=always \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \
    -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
    -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver

然后访问http://服务器ip:8089
onlyoffice集成实现编辑预览
到这里文件服务器就部署成功了

注意:7.2版本之后默认开启jwt验证。
出现入图问题解决方案如下
onlyoffice集成实现编辑预览

## 更改/etc/onlyoffice/documentserver/local.json
docker exec -it [容器id] bin/bash
cd /etc/onlyoffice/documentserver
sed -i 's/true/false/g' local.json
supervisorctl restart all

OnlyOffice/Docker Document Server(gitHub代码托管)

文档服务器API文档

二、页面集成

参数文档地址:https://api.onlyoffice.com/editors/config/document

1.使用vue3进行集成

官方集成方式

安装依赖

npm install --save @onlyoffice/文档-editor-vue
# or
yarn add @onlyoffice/document-editor-vue

使用组件

<template>
  <DocumentEditor
      id="docEditor"
      documentServerUrl="http://服务器地址:8089/"
      :config="config"
      :events_onDocumentReady="onDocumentReady"
  />
</template>

<script>
import { DocumentEditor } from "@onlyoffice/document-editor-vue";

export default{
  name: 'ExampleComponent',
  components: {
    DocumentEditor
  },
  data() {
    return {
      config: {
        document: {
          fileType: "docx",
          key: "Khirz6zTPdfd7",
          title: "Example Document Title.docx",
          url: "https://文件地址"
        },
        documentType: "word",
        editorConfig: {
          callbackUrl: "http://xxxxxxx/callback",
          // callbackUrl: "http://192.168.0.143:8080/callback",
          // lang: "zh-CN" // 中文
        }
      }
    }
  },
  methods: {
    onDocumentReady() {
      console.log("Document is loaded");
    }
  },
}
</script>
<style>
html,body,#app{height: 100%;margin: 0px}
</style>

注意:callbackUrl我自己测试必须为公网地址,127.0.0.1、 192.168.xx、localhost都不行

2.html集成

<!DOCTYPE html>
<html class="full-screen">
	<head>
		<meta charset="UTF-8">
		<title>ONLYOFFICE使用方法</title>
        <script type="text/javascript" src="http://服务器地址/web-apps/apps/api/documents/api.js"></script>
	</head>
	<body class="full-screen">
        <div id="officeContent"></div>
        <script language="javascript" type="text/javascript">
            var docEditor = new DocsAPI.DocEditor("officeContent",{
                "document": {
                    "fileType": "docx",
                    "title": "Example Document Title.docx",
                    "url":"文件地址.docx" ,
                },
                "documentType": "word",
                "editorConfig": {
                    "callbackUrl": "回调地址", // 编辑保存回调地址
					// "lang": "zh-CN" // 中文
                },
				"height": "100%",
                "width": "100%",
				// "type": "embedded" // 嵌入式,默认"desktop"
            });
        </script>
	</body>
	<style type="text/css">
		.full-screen {
			height: 100%;
			overflow: hidden;
		}
	</style>
</html>

三、回调Demo

我这里使用Java简单写了一个回调项目

package net.koalaclass.controller;

import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URL;
import java.util.Scanner;

@RestController
public class OnlyOfficeController {

    //必须是post请求我这里使用的是RequestMapping
    @RequestMapping("/callback")
    public String callBack(HttpServletRequest request, HttpServletResponse response) throws IOException {
        Scanner scanner = new Scanner(request.getInputStream()).useDelimiter("\\A");
        String body = scanner.hasNext() ? scanner.next() : "";

        JSONObject jsonObj = JSONObject.parseObject(body);
        System.out.println(jsonObj.get("status"));
        if((int) jsonObj.get("status") == 2)
        {
            String downloadUri = (String) jsonObj.get("url");
            URL url = new URL(downloadUri);
            java.net.HttpURLConnection connection = (java.net.HttpURLConnection) url.openConnection();
            InputStream stream = connection.getInputStream();
            File savedFile = new File("E:\\");
            try (FileOutputStream out = new FileOutputStream(savedFile)) {
                int read;
                final byte[] bytes = new byte[1024];
                while ((read = stream.read(bytes)) != -1) {
                    out.write(bytes, 0, read);
                }
                out.flush();
            }
            connection.disconnect();
        }
        return "{\"error\":0}";
    }
}

回调官网给出了示例和文档:https://api.onlyoffice.com/editors/callback

总结

ONLYOFFICE是一个非常好用的文档编辑器。后续会根据研究的深入继续更新。
本文参考:
https://blog.csdn.net/MaySky5/article/details/125652600
https://blogweb.cn/article/1221081690910文章来源地址https://www.toymoban.com/news/detail-445021.html

到了这里,关于onlyoffice集成实现编辑预览的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 在线Word编辑-OnlyOffice开源框架

    社区版允许您在本地服务器上安装ONLYOFFICE Docs,并将在线编辑器与ONLYOFFICE协作平台或其他流行系统集成。 ONLYOFFICE Docs 是一个在线办公套件,包括文本、电子表格和演示文稿的查看器和编辑器,完全兼容 Office Open XML 格式:.docx、.xlsx、.pptx,并支持实时协作编辑。 接口1:返回

    2024年02月12日
    浏览(13)
  • seafile+onlyoffice集成部署

    docker cp sea-onlyoffice:/etc/onlyoffice/documentserver/default.json ./ 修改以下值为: 在docker-compose中添加挂载: - ./default.json:/etc/onlyoffice/documentserver/default.json 编辑./data/seafile-data/seafile/conf/seahub_settings.py,替换IP:PORT,添加:

    2024年01月24日
    浏览(13)
  • onlyoffice协同编辑(多人共享编辑)、在线文档编辑,支持word、excel

    onlyoffice协同编辑(多人共享编辑)、在线文档编辑,支持word、excel

    贴一个官方的文档 onlyoffice API onlyoffice 故障排除 首先给一个盒子 然后初始化代码, 这里只写了常用的配置,完整的配置可以看文档 后端的部署,可以借鉴这位大哥的 如何在 Windows 上 使用 ONLYOFFICE 协作编辑文档

    2024年02月12日
    浏览(50)
  • springboot项目引入onlyoffice多人协同编辑文档

    采用docker安装很方便,例如我服务器ip为    172.12.2.333 安装后访问   http://172.12.2.333:8888 访问成功即可 参考Spring-Boot-onlyOffice: springboot集成onlyOffice的实现。在参考网络上的资料结合自身实际情况总结,让集成oo方便快捷。 封装了oo服务的API和统一了配置。  1.上面下载下来后,

    2024年01月20日
    浏览(9)
  • springboot vue 初步集成onlyoffice

    springboot vue 初步集成onlyoffice

    对接onlyoffice,实现文档的预览和在线编辑功能。 修改离开当前页面后会自动触发保存,大约5秒后下载文件,文件已经是最新。 The document could not be saved. Please check connection settings or contact your administratorWhen you click the ‘Ok’ button, you will be prompted to download the document. (这份文件

    2024年02月13日
    浏览(14)
  • 【vue2+onlyoffice】word在线编辑&保存

    需要实现word文档的编辑和保存功能,之前写了一篇选方案的。 现在就按照onlyoffice开始实现。【没有使用到多人协同】 1.后端部署(忽略),后端给我了一个地址之后,我运行了一个demo(代码) 报错:文档安全令牌未正确形成 可能的解决方案: dzzoffice中安装onlyoffice后打开显示

    2024年02月09日
    浏览(14)
  • 如何在麒麟上安装 ONLYOFFICE 桌面编辑器

    如何在麒麟上安装 ONLYOFFICE 桌面编辑器

    我们很高兴地告诉大家,ONLYOFFICE 桌面编辑器现已上架麒麟软件商店。请阅读下文了解详情。 麒麟是一款国产操作系统,主要是为了满足中国市场的需求和偏好而设计的。 它能够与各种硬件平台和软件应用程序的广泛兼容,因而受到认可。它支持从台式机到服务器的个人和企

    2024年02月06日
    浏览(11)
  • onlyOffice实践-在线协同word、ppt、excel编辑

    安装docker 18.09.0版本及以上(我的版本是18.09.0) 配置docker阿里源,下载国外的镜像加速(参考docker的常规使用总结-CSDN博客) docker search 186184848/documentserver 选择对应的破解版本下载(这个镜像已经破解20人限制) docker pull 186184848/documentserver:7.5.1 查看镜像 : docker images 运行

    2024年02月02日
    浏览(13)
  • springboot 集成onlyoffice 在线协同办公demo

    操作步骤: 1,安装onlyofficeserver,ubuntu 环境, 安装说明见:https://helpcenter.onlyoffice.com/installation/docs-community-install-ubuntu.aspx 2,springboot 集成onlyoffice的demo工程,见https://api.onlyoffice.com/zh/editors/example/javaspring 3,工程配置: 在安装了onlyoffice server 的ubuntu系统里,打开文件/etc/onl

    2024年02月16日
    浏览(13)
  • 开源文档编辑器ONLYOFFICE最新版7.5发布

    开源文档编辑器ONLYOFFICE最新版7.5发布

    开源办公套件 ONLYOFFICE 文档最新版 7.5 现已发布:全新 PDF 编辑器、自动断字、分页符和跟踪箭头、屏幕朗读器等诸多新功能。 什么是 ONLYOFFICE 文档 ONLYOFFICE 文档是一款开源的办公套件,由总部位于拉脱维亚的Ascensio System SIA开发。它支持处理文本文档、电子表格、演示文稿、电

    2024年02月08日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包