Repository Wiki
LYOfficial/OneDocs

PDF 导入、文本解析与图像提取

本页说明 OneDocs 如何将 PDF 文件转为带有逐页文本和嵌入图片索引的分析数据;文本由前端 pdfjs-dist 解析,图片由本地 Tauri/Rust 命令提取。

Purpose and Scope(目的与范围)

覆盖 DocumentProcessor 的 PDF 校验、文本读取、文件落盘、图片提取和结果组装,以及 extractPdfImages 与 Rust extract_pdf_images 之间的边界。分析模型如何消费该结果不在本页范围内;相关入口可参阅 useAnalysis.ts。模型调用及渲染流程应由相应专题说明。

Overview(概览)

入口 extractAnalysisBundle(file, outputRoot?) 仅接受 MIME 类型为 application/pdf 的 File。它按页读取 PDF 文本,先形成 pageTexts 和带页号分隔符的 text,再将 PDF 写入数据目录,并尝试提取真实嵌入图片;即使图片阶段失败,也可返回纯文本分析包。单独只需文本时使用 extractContent(file),它不经过图片提取路径。实现

Architecture(架构)

Loading diagram...

Sources: useAnalysis.ts, documentProcessor.ts, documentProcessor.ts, pdfImageExtractor.ts, lib.rs

这里的文件系统不是抽象数据库:前端把原始 PDF 写入磁盘,Rust 从该路径重新读取,图片也保存为本地文件。这样的划分使 pdfjs 负责文本、lopdf 负责嵌入图像,而不是将整个页面渲染为截图。文件写入与图片目录

Sources

(3 files)
src-tauri/src