Skip to content

使用场景

MinerU Viewer 围绕一个稳定的句柄 blockId 建模,因此能天然承载"文档块级溯源 + 业务注入"两类需求。下面按典型场景说明。

场景 A:纯预览 / 溯源(showMarkdown 默认开)

最常见的用法 —— 把 MinerU 产物直接放给用户看,且能左右互点溯源。

  • 左栏显示 full.md,右栏显示 PDF / 图片源文件
  • 点击任意一段 Markdown → 右侧对应源块自动滚动到视口中心并高亮
  • 点击右侧某个源块 → 左侧对应 Markdown 块高亮
  • 缩略图支持钉住(pin)QQ 式自动收纳(鼠标离开边缘 250ms 后收起,靠近 500ms 后展开)

适合:文档站、知识库、内部资料查阅、研究辅助工具。

场景 B:问答 / 引用溯源(业务高亮注入)

你的产品已经有一个问答系统,回答里引用了文档的某些片段。把引用落回 blockId

ts
viewer.addHighlight({
  id: "qa-123",
  blockIds: ["b-3", "b-7"],
  color: "#ffd666",
  label: "AI 回答引用",
  meta: { answerId: 123 }
});
  • 高亮组以首个 block 所在页为锚点,自动滚动并居中
  • 多个引用组可并存(addHighlight);点击某个组时以该组为锚点
  • 通过 bus.on("highlight-activate", ...) 监听用户点击了哪组高亮

适合:RAG / 文档问答产品、智能客服、审核辅助。

场景 C:审查 / 标注(多组高亮 + 编辑事件)

规则引擎或人工审核在文档上命中了一些块;需要把命中结果可视化,并允许用户进一步编辑原文。

  • setHighlights(groups) 批量注入一组规则命中(互斥替换式)
  • 监听 edit 事件拿到 blockIds / page / oldText / newText,把编辑结果回写业务侧
  • clearHighlights() 清空
  • focusBlock(blockId) 命令式地把视角定位到某个块(例如从外部列表点击跳转)

适合:合规审查、合同比对、内容质检、标注平台。

场景 D:隐藏 MD 栏,只做"源文件 + 高亮"画布

某些场景(如客服坐席侧、纯渲染层)不需要展示 Markdown,只要一个带高亮的源文件预览:

vue
<MineruViewer :zip="url" :show-markdown="false" :highlights="groups" />

组件仍保留 blockId 坐标映射与 canvas 命中能力,只是左侧 Markdown 面板不渲染。

形态选择

你的工程形态推荐包引入方式
Vue 3 工程,走打包器@mineru-viewer/vueimport ESM / require UMD
React 工程,走打包器@mineru-viewer/reactimport ESM / require UMD
无构建(直接 <script>@mineru-viewer/vue-no-esm / @mineru-viewer/react-no-esm全局 MV / MVReact + 引入 vendor

两个形态由同一份 ESM 源码构建而来:Vite lib 模式同时产出 esumd,逻辑零分叉。

MinerU Viewer · 组件化文档溯源查看器 · 官网 · GitHub