请问前端怎样在线预览pdf文件?并且高亮其中的某些文字?
如题:
请问前端怎样在线预览pdf文件?并且高亮其中的某些文字?
之前用过npm vue-pdf等。只是展示而已。目前的项目需求是需要解析里面的文字高亮出来。
回答:
针对无法提取文字的
- pdf.js 生成图片,
- 然后 OCR 识别。
- 根据 OCR 结果加蒙层
如果可以提取文字,比如说 pdf-view 出来是能选择的。那么你可以针对做一些二开。
回答:
魔改 pdfjs
回答:
大部分pdf都是用pdf.js
库,pdf.js
是有提供一个完整的阅读器,里面带有搜索高亮功能。之前查了一下相关的实现方案。
- 具体逻辑记不清了,印象中如果单纯的引入
pdf.js
,是没提供直接能高亮的接口的。需要pdf.js
开启渲染文本层,搜索文本得自己实现,在对应的dom处插入高亮元素。可以参考阅读器里面的逻辑。 - 相对简单的方案是,修改
pdf.js
提供的阅读器代码,调用搜索逻辑查找自己需要高亮的字符。网上有文章,根据关键词搜一下可以查到。
这些前提pdf中是文本格式的,如果pdf嵌入的是图片,就没办法了。只能走OCR,PDF图片排版可以简单也可以复杂,要想识别效果好就很难了。
如果要用其他什么带搜索的库,之前github找了一番,也是没找到,基本都只做完浏览逻辑。
以上是 请问前端怎样在线预览pdf文件?并且高亮其中的某些文字? 的全部内容, 来源链接: utcz.com/p/936743.html