【免费下载链接】Docufinder
Anything — 파일 이름이 아니라 본문으로 찾는 문서 검색기. HWP·PDF·Office 전문 검색을 오프라인으로. Windows·macOS | Offline content search across Korean documents (HWP, PDF, Office). Windows and macOS
Docufinder(产品名 Anything)是一款 100% 离线运行的韩文文档正文搜索引擎,覆盖 HWP、HWPX、PDF、Office 与图片。它最被低估的能力之一,是不安装任何韩文办公软件,就能在搜索结果里直接预览.hwp文档的原始版面——表格合并单元格、页眉页脚、分栏排版都按原样呈现。本文带你完整看懂它的文档预览与原始版面渲染是怎么实现的。
预览面板的两种视图:文本与原始版面
打开任意一条搜索结果的预览面板(PreviewPanel.tsx),你会看到顶部有一个双段切换:
| 视图 | 内容 | 快捷键 |
|---|---|---|
| 文档文本 | 解析后的 Markdown 正文,支持搜索词高亮 | 按1 |
| 原始版面 | 与源文件肉眼可见一致的版面渲染 | 按2 |
快捷键逻辑实现在 PreviewPanel.tsx:在 HWPX、HWP、PDF 预览中按下1或2即可无模态切换,且应用会记住你上次偏好的视图(localStorage),下次打开同类文档自动进入。
原始版面并非所有格式都支持——只有.hwpx、.hwp、.pdf三种类型会出现"原始版面"分段按钮,其余格式(docx、xlsx 等)只有 Markdown 文本视图。
三种格式,三条渲染管线
这是整个预览系统最精妙的部分:每种格式走一条完全不同的后端管线,前端却用几乎同一套查看器消费结果。
| 格式 | 渲染引擎 | 产物 | 关键源码 |
|---|---|---|---|
.hwpx | kordoc(Node.js 侧车) | 整页纵向堆叠的 SVG | kordoc/render.rs |
.hwp | rhwp(纯 Rust 原生库) | 整页纵向堆叠的 SVG | parsers/rhwp.rs |
.pdf | pdfium | 每页一张 PNG 图片(data URI) | parsers/pdf.rs |
统一入口是后端命令 render_layout_svg:按扩展名分流,.hwp交给 rhwp 原生渲染,其余走 kordoc;PDF 则走独立的 render_pdf_page 命令按页加载。
核心揭秘:不装韩文软件,.hwp 是怎么渲染出来的
.hwp是韩文 Office(한컴오피스)的私有二进制格式(HWP5 / OLE2 结构),传统上离开韩文软件就打不开。Docufinder 的方案是引入纯 Rust 实现的 HWP 解析渲染库rhwp,以原生 Cargo 依赖的形式编译进应用——不是外挂 exe 侧车,因此 Windows 和 macOS 共用同一份代码。
渲染流程(rhwp.rs):
- 读取文件字节,交给
DocumentCore::from_bytes解析出文档核心对象; - 逐页调用
render_page_svg_native,每页生成一张独立 SVG(走纯 Rust 的 tiny-skia 路径,无 C++ 依赖); - 多页拼接:把每页 SVG 按
viewBox测量宽高,纵向堆叠成<g />- 下载安装包(Windows
.exe/ macOS.dmg),完成个人签名验证后启动; - 添加要索引的文件夹,等待自动索引完成(数千个文档通常在秒级内可搜索);
- 在搜索框输入关键词,点击任意一条 HWP/PDF 结果打开预览;
- 按数字键
2(或点击"原始版面"分段)——无需安装韩文 Office,.hwp的原始排版立即呈现。
细节与安全设计
- 路径白名单:所有预览命令都会先做
canonicalize+ 监视文件夹白名单校验(preview.rs),预览请求无法越界访问任意磁盘路径; - 体积保护:版面 SVG 超过 50MB 会拒绝返回,防止 IPC 传输与前端渲染被超大文档拖死;
- 加密文档:带打开密码的 HWP/HWPX 可在预览面板内输入密码查看(v3.6+),密码仅用于当次打开、不落盘;
- 优雅降级:原始版面渲染失败时(如文件损坏),面板自动回退到 Markdown 文本视图并弹出提示,搜索功能不受影响;
- 搜索词高亮:HWPX 的 kordoc 渲染支持把搜索词直接"烤"进 SVG 荧光笔矩形;HWP 因 rhwp 不支持高亮参数,改用应用内
Ctrl+F查找,体验等效。
延伸阅读
对版面分析感兴趣的话,OCR 扫描件的布局识别与阅读顺序恢复设计(PP-Structure 模型 + XY-Cut 算法)在 docs/OCR-LAYOUT-DESIGN.md 中有完整阐述,是同一套预览体系向扫描件延伸的规划。
小结:Docufinder 用"rhwp 原生渲染 + kordoc SVG + pdfium 光栅化"三条管线,把原本强依赖厂商软件的 HWP/HWPX/PDF 原文版面,变成了搜索结果里一次按键(
2)即可到达的标配体验——这正是"离线韩文文档搜索引擎"区别于普通文件搜索器的关键一步。赞点击查看免费下载【免费下载链接】Docufinder
Anything — 파일 이름이 아니라 본문으로 찾는 문서 검색기. HWP·PDF·Office 전문 검색을 오프라인으로. Windows·macOS | Offline content search across Korean documents (HWP, PDF, Office). Windows and macOS
项目地址:https://gitcode.com/gh_mirrors/do/Docufinder相关推荐
找不到文档?Docufinder本地全文搜索终极指南:按正文秒级检索HWP/PDF/Office
找不到文档?Docufinder本地全文搜索终极指南:按正文秒级检索HWP/PDF/Office Docufinder (产品名 Anything)是一款 10
FileBrowser Quantum文件预览系统:Office文档在线预览实现原理
FileBrowser Quantum文件预览系统:Office文档在线预览实现原理 痛点:企业文档管理的数字化困境 在企业数字化转型浪潮中,文档管理面临三大核
后端前端认证鉴权RuoYi-Vue文件预览功能:Office文档在线查看
RuoYi Vue文件预览功能:Office文档在线查看 你是否还在为系统中的Office文档查看烦恼?用户上传的Word、Excel、PPT文件需要下载才能打
上一篇:Hyperledger Fabric 仓库中的 gnark-crypto 椭圆曲线支持全览:从 BLS12-381 到 Baby-Jubjub下一篇:Wu.CommTool通讯调试工具动态主题揭秘:WPF深色/浅色皮肤切换原理与完整代码指南 - 下载安装包(Windows
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考