使用Docker在Mac上部署OnlyOffice,预览编辑word、excel、ppt非常好

news2024/11/22 19:07:36

前端编辑word、ppt文档,开源免费方案并没有找到合适的,像wps、石墨文档都是自研的方案。实现过程中wps采用的svg方案,而石墨文档采用的是canvas,它们均是自己来实现编辑器,不依赖浏览器提供的编辑器(contenteditable)。在实现过程中,其实可以参考一些开源方案,比如OnlyOffice。

端午节的时候在mac上使用docker部署了OnlyOffice,体验了一下,无论是对office文档的还原还是编辑体验,效果都非常不错。支持word、ppt、excel、pdf等文档的预览与编辑,而且完全开源,但并不免费。

使用docker部署比较简单,基本几个命令就能搞定,部署过程中遇到了一些坑,比如:

4f05dee12ee11f4993814d072509a1c6.png

网上基本都能找到对应的方案。

部署完后,我们先看一下效果,可以看到一个文档的管理界面:

0dd0755943b828e3903a884d4f963c06.png

我做了一个word文档,内容包含:表格、段落、标题、SmartArt、图文环绕、富文本效果(对齐、字体颜色、字号等)、页眉页脚、水印、文本框、项目符号、图片、图表、艺术字。

a84edabf388a31902df277e59a74ce11.png

还原效果差不多能达到90%左右,有一些badcase,比如:

1. 图文环绕效果与标题重叠了

OnlyOffice效果:

6e951892696f8abd3d9769062d03930d.png

Office 效果:

dab5c19924660bbf2bedfef520e07f0e.png

2.项目符号

OnlyOffice效果:

b55aef17538a5b903be03219d9d23174.png

Office 效果:

3d0d41a016fff031552e0eb0611263c5.png

3.页面排版内容不一致

Office整页的内容和OnlyOffice有明显的差异。

总的来说,还原效果有一些差异,但是整体比较靠谱。WPS网页端虽然还原效果看着比较好,但是比如SmartArt、艺术字这种效果,直接降级处理成了图片。而OnlyOffice实现了真正的还原。

5b66239e9ef8fc39b597a900977e9de4.png

我们再看看PPT效果,使用我以前分享的一个PPT,效果比较好。

41a1ad45245ab18f8c3894ed9561b81a.png

我们再看看Excel效果:

38ce51384f2becfbf50e87353494a86a.png

PDF的效果:

70ed0fb049dc4b126c19bdabefc75a3f.png

总的来说OnlyOffice的效果实现的非常好,而且是开源的,支持的文档格式也比较多DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX, HTML。关于前端编辑器代码实现可以参考:https://github.com/ONLYOFFICE/sdkjs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1841187.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【调试笔记-20240619-Windows-Typescripts中类型不匹配的解决方法】

调试笔记-系列文章目录 调试笔记-20240619-Windows-Typescripts中类型不匹配的解决方法 文章目录 调试笔记-系列文章目录调试笔记-20240619-Windows-Typescripts中类型不匹配的解决方法 前言一、调试环境操作系统:Windows 10 专业版调试环境调试目标 二、调试步骤搜…

【数据结构】选择题

在数据结构中,从逻辑上可以把数据结构分为(线性结构和非线性结构) 当输入规模为n时,下列算法渐进复杂性中最低的是() 时间复杂度 某线性表采用顺序存储结构,每个元素占4个存储单元&#xf…

【笔记】打卡01 | 初学入门

1 基本介绍 MindSpore Data(数据处理层) ModelZoo(模型库) MindSpore Science(科学计算),包含了业界领先的数据集、基础模型、预置高精度模型和前后处理工具 MindSpore Insight(可视…

【stm32-新建工程-HAL库版本】

stm32-新建工程-HAL库版本 ■ HAL库版本目录■ Drivers■ Middlewares 文件夹, 同寄存器版本一样。■ Output 文件夹, 同寄存器版本一样。■ Projects 文件夹, 同寄存器版本一样。■ User 文件夹 ■ HAL库版本目录 ■ Drivers ① &#xff0c…

Vitis Accelerated Libraries 学习笔记--OpenCV 安装指南

目录 1. 简介 2. 安装过程 2.1 安装准备 2.2 常见错误 2.2.1 核心共享库报错 3. 通过实例测试 4. 总结 1. 简介 使用Vitis Vision Library Vitis 视觉库,为什么要安装opencv库? 在使用Vitis Vision Library时,安装OpenCV库是因为许…

前端 CSS 经典:边框转圈动画效果

前言:首先我们要知道 css 动画只对数值类的 CSS 属性起作用。要实现边框转圈动画效果,实际就是渐变背景的旋转。但是在以前,渐变背景是不支持动画的。现在我们可以利用浏览器新出的 Houdini API 来实现这个动画效果。Houdini API 特别强大&am…

leetcode119 杨辉三角②

给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: rowIndex 3 输出: [1,3,3,1]示例 2: 输入: rowIndex 0 输出: [1]示例 3: 输入: rowIndex 1 输出: [1,1] pub…

centos 7.8 安装sql server 2019

1.系统环境 centos 7.8 2.数据库安装文件准备 下载 SQL Server 2019 (15.x) Red Hat 存储库配置文件 sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo 采用yum源进行不安装下载,这时yum 会自动检测…

知觉感知:AI深层理解的关键

在人工智能(AI)的广阔领域中,一个核心议题始终萦绕在科学家和哲学家的心头:人工智能是否需要感知能力,以实现对意义的深层理解?这一议题不仅关乎技术的边界,更触及了人类心智的本质。从Stevan H…

[笔记] CCD相机测距相关的一些基础知识

1.35mm胶片相机等效焦距 https://zhuanlan.zhihu.com/p/419616729 拿到摄像头拍摄的数码照片后,我们会看到这样的信息: 这里显示出了两个焦距:一个是实际焦距:5mm,一个是等效焦距:25mm。 实际焦距很容易…

数据结构:4.1.1二叉搜素树及查找

静态查找:要找的集合的元素是不动的,主要是find操作,没有delete操作 动态查找:要查找的集合会经常发生插入删除的操作 静态查找的一个很好的方法就是二分查找 把数据直接放在树上 结点右子树的值>结点的值>结点左子树的…

Flutter-无限循环滚动标签

1. 序章 在现代移动应用开发中,滑动视图是常见的交互模式之一。特别是当你需要展示大量内容时,使用自动滚动的滑动视图可以显著提升用户体验。在这篇文章中,我们将讨论如何使用 Flutter 实现一个自动滚动的列表视图。 2. 效果 3. 实现思路 …

Java安全

Java安全 Java2Sec靶场搭建 靶场地址 https://github.com/bewhale/JavaSec 查看数据库配置文件,mysql,用户名密码根据自己数据库密码更改 使用小皮面板的mysql,新建一个数据名为javasec的数据库 运行javasec.sql文件 下载运行jar包即可 …

STM32单片机I2C通信详解

文章目录 1. I2C通信概述 2. 硬件电路 3. I2C时序基本单元 4. I2C时序 4.1 指定地址写 4.2 当前地址读 4.3 指定地址读 5. I2C外设 6. I2C框图 7. I2C基本结构 8. 主机发送 9. 主机接收 10. 软件和硬件波形对比 11. 代码示例 1. I2C通信概述 I2C(Inter-Integrat…

定制汽车霍尔传感器

磁电效应霍尔传感器、饱和霍尔传感器、非线性霍尔传感器 霍尔传感器原理 霍尔传感器的工作原理基于霍尔效应,即当一块通有电流的金属或半导体薄片垂直地放在磁场中时,薄片的两端会产生电位差。这种现象称为霍尔效应,两端具有的电位差值称为…

YoloV8改进策略:Block篇|即插即用|StarNet,重写星操作,使用Block改进YoloV8(全网首发)

摘要 本文主要集中在介绍和分析一种新兴的学习范式——星操作(Star Operation),这是一种通过元素级乘法融合不同子空间特征的方法,通过元素级乘法(类似于“星”形符号的乘法操作)将不同子空间的特征进行融…

(0撸)Nillion空投教程,现在开启激励测试网

Nillion 是一个去中心化的公共网络,通过启用去中心化信用评分、去中心化可信执行环境、私有 NFT、去中心化安全存储服务等用例来解锁 Web3 中重要的新实用程序 Nillion已经完成2000万美元融资、由Distributed Global领投、同时还有HashKey Capital、GSR等多家机构参…

opencascade AIS_InteractiveContext源码学习1 object display management 对象显示管理

AIS_InteractiveContext 前言 交互上下文(Interactive Context)允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是,对于已经被交互上下文识别的交互对象,必须使用上下文方法进行…

visual studio error MSB8008:

新项目编译的时候,可能由于编译器的版本不一致导致的问题。 你的电脑上有两个不同版本的VS,或者你的程序拷贝到别人的电脑上去运行,或者你是从别人那里拷贝来的项目,而你们俩用的VS版本不一样,就会在运行的时候出现这…

代码随想录算法训练营第四十三天|518. 零钱兑换 II ,LCR 103. 零钱兑换,377. 组合总和 Ⅳ

518. 零钱兑换 II - 力扣(LeetCode) class Solution {public int change(int amount, int[] coins) {// 创建dp数组,dp[i][j] 表示使用前i个硬币(下标为0的硬币是前1个)凑成总金额j的硬币组合数int[][] dp new int[coins.length …