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

2023-01-18 13:48:12 +08:00
 az031120103

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

2470 次点击
所在节点    问与答
17 条回复
murmur
2023-01-18 14:33:23 +08:00
首先你得实现 office 文档的前端浏览,这已经巨牛逼了

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

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

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

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

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

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

© 2021 V2EX