这种文档对比前端是用什么技术实现的?

2023 年 1 月 18 日
 az031120103

https://calliper.cn/s/83d333196af34c8fa75b33448fe4f932

3897 次点击
所在节点    问与答
18 条回复
murmur
2023 年 1 月 18 日
首先你得实现 office 文档的前端浏览,这已经巨牛逼了

然后他居然支持 pdf 、扫描件、word 的交叉比对,虽然原理不清楚,但是测试一定没少做
murmur
2023 年 1 月 18 日
当然你可以选择两边都是 pdf 浏览器,不过 pdf 浏览器面对国内奇葩的格式也得跪下,现在好用的 office 转 pdf 都是商用方案
xiangyuecn
2023 年 1 月 18 日
网页只不过是个 UI 而已,仅此而已。重量级的在后端
johnnyNg
2023 年 1 月 18 日
看一下接口,工作量主要在后端,后台已经标好了所有 diff 的位置,内容
az031120103
2023 年 1 月 18 日
@murmur 看了下,文件是用 canvas 渲染的
az031120103
2023 年 1 月 18 日
@johnnyNg 估计是前端计算每一页改动点的色块位置,宽高,svg 高亮一下
az031120103
2023 年 1 月 18 日
@xiangyuecn 后端也就多了一个查词对比,前端 ui 也没那么容易画的
dumbass
2023 年 1 月 18 日
去这个家公司入职,就知道了😆
stevenhan
2023 年 1 月 18 日
感觉普通写个更新文档什么的还挺好用,但是案例是个债券发行公告,感觉是对文字要求非常严谨甚至苛刻的领域。
先不说 diff 怎么做的,PDF 识别用了 OCR ,那就存在识别出错的可能。
很好奇,这种产品如果出错导致 diff 漏了,造成客户损失,会赔付吗,如果不赔付,需要客户进行二次检验人工 diff ,那貌似产品的意义也不存在了。
hhjswf
2023 年 1 月 18 日
工作量明显前端大。。
hhjswf
2023 年 1 月 18 日
不可能有现成的,这肯定人家手撸出来的
xiadd
2023 年 1 月 18 日
我看了一下 pdf 的渲染是用的 pdfjs ,至于 diff 肯定是后端做的,之前做过类似的东西,前端工作量也不小
WasteNya
2023 年 1 月 18 日
涉及到这块领域的,很多都是商业机密,虽然不知道那个网站的具体思路,我说一下如果我要实现 pdf 、word 的交叉对比的话(手动狗头)

1. 最终所有文件的格式均已 pdf 展示(确保高保真),至于 word 高保转 pdf ,嘿嘿,机密!
2. pdfjs 预览的结果会有两层,一层是展示层,一层是文字层(不展示,但包含了位置信息以及文字的 html 标签)
3. 将文字层进行对比,这个前端后端都可以实现,如果嫌 html 对比麻烦,可以转换下使用 ast 或其他格式等等
4. 将对比的结果整理下根据条件来使其变换下背景颜色,就能实现 OP 提到的效果了
dobelee
2023 年 1 月 18 日
现成的都是纯文本对比。
对比算法本身就有不小复杂度,尤其冲突的时候,知名的 beyond compare 和 smartgit 都很多奇葩 bug ,这个 PDF 对比估计下了不少功夫,躺赚就完了。
toma77
2023 年 1 月 18 日
明显前端工作量更大,而且大得多
noahhhh
2023 年 1 月 19 日
找点特例去试 bug ,就能大概猜到点东西
missz
2023 年 1 月 19 日
庖丁科技好像专注于各种文档类型的解析、提取、转换,之前要解析财报的时候评估过他们家,确实很牛皮
mqnu00
2 月 27 日
看上去时纯文本,如果要求还要对比格式(文字颜色、大小等)感觉抓瞎

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/909704

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX