当前位置: 首页 > news >正文

onlyoffice实现文档比对(Beta版)-纯文字比对(非OCR)

一、说明

        文档比对光靠前端或者后端是无法实现的。

        该文中的实现方案为:onlyoffice+java。java进行文档差异化比较并输出对比结果,only进行得到结果处理+渲染。

        此方案目前为Beta版本,简单Word Demo实现了比对结果。css、关联动态效果登将在后期逐步优化。

        查看地址:onlyoffice-曹瑞版本演示站A Modern Back-end Management Systemicon-default.png?t=O83Ahttp://47.94.91.67/#/onlyoffice_doc/main

二、预览

三、onlyoffice端实现思路

        onlyoffice作为前端展示,其实只需要按照后端返回的比对结果分别对文本块进行【类型】标记渲染就可以了,比如:

        1、比如从后端获取得到的比对结果为:【下样例】,标记被比较文档中第一个段落中【新增】两个字为变动内容。

{type:addition, changeParagraph:0, startPos:3, endPos:5}

       2、以【预览模式】打开文档,这里推荐使用预览模式打开,因为对于查看文档而言,需要屏蔽鼠标键盘误操作导致修改了原始文档,造成数据问题。

        3、清洗文档格式,尽可能让文档内容保持清晰,方便后续的标记比对查看。我的方案中处理:批注、超链接、书签,其他更多的对象也可以由开发者自行适配。

        4、打开预览编辑模式,准备渲染。

        5、根据【1】中的数据标识结构,分别进入比较文档和被比较文档中找到对应的区块进行渲染。

        6、到这里其实核心就结束了,剩下的就是外层HTML的dom渲染和事件绑定之类的,这个就看个人对品质的要求。

四、后记-个人用

        尝试思考:OCR+段落聚合+自然文本拼接,向做得更好的平台学习。

相关文章:

onlyoffice实现文档比对(Beta版)-纯文字比对(非OCR)

一、说明 文档比对光靠前端或者后端是无法实现的。 该文中的实现方案为:onlyofficejava。java进行文档差异化比较并输出对比结果,only进行得到结果处理渲染。 此方案目前为Beta版本,简单Word Demo实现了比对结果。css、关联动态效果登将在后期…...

JS querySelector方法的优点

1. 灵活性 支持所有 CSS 选择器 ID 选择器:#id 示例:document.querySelector(#myId)解释:选择 id 为 myId 的元素。类选择器:.class 示例:document.querySelector(.myClass)解释:选择具有 class 为 myCla…...

利用获取商品详情API:item_get可以获取到淘宝商品详情的哪些数据?

先来看下测试的返回数据吧 items: { total_results: 76, totalpage: 8, page_size: 10, page: "1", item: [ { rate_content: "和我家的鞋柜特别搭,加上这一条遮挡布,感觉整洁多了,布料不是硬邦邦的那种,很满意。…...

【大数据学习 | 面经】Spark 3.x 中的AQE(自适应查询执行)

Spark 3.x 中的自适应查询执行(Adaptive Query Execution,简称 AQE)通过多种方式提升性能,主要包括以下几个方面: 动态合并 Shuffle 分区(Coalescing Post Shuffle Partitions): 当 …...

[Vue]Vue-router

路由 对前端路由的理解 在前端技术早期,一个 url 对应一个页面,如果要从 A 页面切换到 B 页面,那么必然伴随着页面的刷新。这个体验并不好,不过在最初也是无奈之举——用户只有在刷新页面的情况下,才可以重新去请求数…...

【HarmonyOS】鸿蒙应用使用lottie动画

【HarmonyOS】鸿蒙应用使用lottie动画 一、lottie动画是什么? https://airbnb.design/lottie Lottie是由Airbnb团队开发的一个适用于iOS、Android、React Native、Web和Windows的开源动画库,用于解析使用Bodymovin导出为JSON的Adobe After Effects动…...

1.使用docker 部署redis Cluster模式 集群3主3从

1.使用docker 部署redis Cluster模式 集群3主3从 1.1 先安装docker 启动docker服务,拉取redis镜像 3主3从我们要在docker启动6个容器docker run --name redis-node-1 --net host --privilegedtrue -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-…...

vue基础之8:computed对比watch

欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…...

Luban数据插件的用法

配置后数据后,点击图1中的gen.bat文件启动生成配置数据和解析配置数据代码的程序,自动生成配置数据和解析用到的代码;因为我已经 指定了生成内容的输出路径为Unity项目的路径下面,所以,不用再搬运生成的内容到项目目录…...

指针(上)

目录 内存和地址 指针变量和地址 取地址(&) 解引用(*) 大小 类型 意义 const修饰 修饰变量 修饰指针 指针运算 指针- 整数 指针-指针 指针的关系运算 野指针 概念 成因 避免 assert断言 指针的使用 strl…...

张伟楠动手学强化学习笔记|第一讲(上)

张伟楠动手学强化学习笔记|第一讲(上) 人工智能的两种任务类型 预测型任务 有监督学习无监督学习 决策型任务 强化学习 序贯决策(Sequential Decision Making) 智能体序贯地做出一个个决策,并接续看到新的观测,知道最终任务结…...

python脚本:Word文档批量转PDF格式

读取指定文件夹中的所有 .doc 和 .docx 文件,并利用 Word 软件将它们转换为 PDF 格式,并保存在同一个文件夹中,以源文件命名。 请确保你已经安装了 Microsoft Word,并且在运行脚本时关闭了所有正在运行的 Word 实例。运行该程序时…...

性能测试常见面试问题和答案

一、有没有做过性能测试,具体怎么做的 性能测试是有做过的,不过我们那个项目的性能做得不多,公司要求也不严格。一般SE 给我们相关的性能需求,首先我们需要对性能需求进行场景分析与设计,这里,其实主要就是…...

uniapp进阶技巧:如何优雅地封装request实例

在uniapp开发过程中,合理封装网络请求是提高代码质量和开发效率的关键。本文将介绍一种更为优雅的封装方式,通过创建一个request实例来管理不同类型的HTTP请求。 一、准备工作 在开始封装之前,请确保你的项目中已经安装了uniapp开发环境&…...

实验五、流式视频服务程序mjpg-streamer移植实验

实验日期: 2024 年 10 月 22 日 报告退发 (订正 、 重做) 一、实验目的 1、掌握流式视频服务程序源代码mjpg-streamer的交叉编译方法; 2、掌握在tiny210开发板中运行mjpg-streamer方法; 二、实验内容 1、开启一台烧写了嵌入式Linux系统的…...

(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验三----学校选址与路径规划(超超超详细!!!)

目录 实验三 学校选址与道路规划 3.1 实验内容及目的 3.1.1 实验内容 3.1.2 实验目的 3.2 实验方案 3.3 操作流程 3.3.1 环境设置 3.3.2 地势分析 (1)提取坡度: (2)重分类: 3.3.3 学校点分析 (1)欧氏距离: (2)重分类: 3.3.4 娱乐场所点分析 (1)欧氏距离…...

L16.【LeetCode笔记】前序遍历

目录 1.知识回顾 2.题目 代码模板 3.分析 数组的初始化 malloc开辟的几种方案对比 奇怪的参数returnSize 做法 代码框架 4.代码 提交结果 5.PreOrder函数常见的错误写法 1.知识回顾 106.【C语言】数据结构之二叉树的三种递归遍历方式 2.题目 https://leetcode.…...

泰州榉之乡全托机构探讨:自闭症并非家庭的 “末日”

当提及自闭症时,很多人会担忧地问:自闭症对家庭来说是毁灭性的吗?今天,泰州榉之乡全托机构就来为大家解开这个疑问。 榉之乡大龄自闭症托养机构在江苏、广东、江西等地都有分校,一直致力于为大龄自闭症患者提供专业的支…...

BiGRU:双向门控循环单元在序列处理中的深度探索

一、引言 在当今的人工智能领域,序列数据的处理是一个极为重要的任务,涵盖了自然语言处理、语音识别、时间序列分析等多个关键领域。循环神经网络(RNN)及其衍生结构在处理序列数据方面发挥了重要作用。然而,传统的 RN…...

【vue-router】Vue-router如何实现路由懒加载

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...

CVPR 2023新作DoNet实战:用Python+Detectron2搞定重叠细胞分割(附代码)

DoNet实战指南:基于Detectron2的细胞重叠分割全流程解析医学图像分析领域近年来迎来爆发式增长,其中细胞实例分割作为基础性技术,在癌症筛查、药物研发等场景中扮演关键角色。然而传统方法面对细胞重叠、半透明边界等复杂情况时往往表现不佳。…...

机器学习地球系统模型评估:从物理一致性到标准化框架

1. 项目概述:为什么我们需要重新审视机器学习地球系统模型的评估? 作为一名长期从事气候模式开发与评估的研究者,我亲眼见证了机器学习(ML)技术如何以惊人的速度渗透到地球系统科学领域。从几年前Pangu-Weather、Graph…...

Edge Impulse:一站式TinyML MLOps平台,破解嵌入式AI开发难题

1. 项目概述:为什么我们需要一个面向TinyML的MLOps平台?如果你尝试过在Arduino、树莓派Pico或者ESP32这类微控制器上跑一个简单的图像分类模型,你大概会立刻理解那种“寸土寸金”的感觉。内存以KB计,算力以MHz计,存储空…...

BERTopic与概念图理论在物理教育文本挖掘中的应用实践

1. 项目概述:当物理教育遇上文本挖掘作为一名长期关注教育数据挖掘的从业者,我常常思考一个问题:我们如何能“听见”学生在物理学习过程中的“思维声音”?传统的试卷分数、选择题对错,只能告诉我们结果,却无…...

字节Seed基座GR3机器人的专属控制内核,具备柔性物体操控、人体姿态复刻、工业闭环作业等功能

全称:Gesture Real-Time Reinforcement Learning 全域实时姿态强化学习具身控制框架 内部代号:GR-RL V5.9.2 稳态正式版 隶属体系:字节Seed基座GR3机器人专属控制内核 核心用途:全品类柔性物体操控、人体仿生姿态复刻、工业高精度…...

Midjourney火焰生成实战手册(含17组已验证火纹Prompt+SDXL对比基准数据)

更多请点击: https://codechina.net 第一章:Midjourney火焰生成的核心原理与技术边界 Midjourney 并不原生支持“火焰生成”这一独立功能,其图像合成能力完全依赖于文本提示(prompt)对扩散模型隐空间的引导。所谓“火…...

两个世界的同一种崩溃:从窗口黑屏到宇宙热寂的同构联想

一、两个世界的同一种崩溃 一段着色器代码中 cell.xy 的缩放因子从 9 被修改为 99。着色器随即呈现完全黑屏——既无报错信息,也无渲染异常,只有纯粹、彻底、连噪点都不存在的黑色。在屏幕的某个抽象维度上,发生了一件与理论物理学家在黑板上…...

OmenSuperHub:惠普OMEN游戏本终极性能控制软件完全指南

OmenSuperHub:惠普OMEN游戏本终极性能控制软件完全指南 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度,自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 想要彻底掌控你的惠普OMEN游戏本性能吗…...

CSS Grid布局深入解析:掌握现代布局技术

CSS Grid布局深入解析:掌握现代布局技术 引言 CSS Grid布局是CSS3引入的强大布局系统,它提供了一种二维网格布局方式,可以轻松实现复杂的页面布局。本文将深入探讨Grid布局的核心概念、高级技巧和最佳实践。 一、Grid布局基础 1.1 Grid容器与…...

3分钟解决Mac与Windows文件交换难题:Nigate免费NTFS读写工具完全指南

3分钟解决Mac与Windows文件交换难题:Nigate免费NTFS读写工具完全指南 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and…...