Expand description
docparser-sdk:docparser 的一体化入口。
只想「给个路径,拿回结构化文档」时用本 crate;需要按需裁剪依赖时直接用
docparser-core + 对应后端 crate。
// 默认特性 = pdf + office,已注册全部内置后端
let doc = docparser_sdk::parse("report.docx").unwrap();
println!("{} blocks", doc.pages.iter().map(|p| p.blocks.len()).sum::<usize>());
println!("{}", docparser_sdk::emit::to_markdown(&doc));运行时依赖(不随 crate 分发):
- PDF:需要 PDFium 动态库,见
pdf::find_library(DOCPARSER_PDFIUM_LIB显式指定最稳); - 扫描件 OCR:需要
docparser-ocr可执行文件(DOCPARSER_OCR_BIN)与模型目录 (DOCPARSER_OCR_MODELS),缺失时纯文本层解析不受影响。
Re-exports§
pub use docparser_core as core;pub use docparser_pdf as pdf;pub use docparser_office as office;pub use docparser_epub as epub;
Modules§
- emit
- 输出目标:text / markdown(JSON 直接走 serde)。
Structs§
- Backend
Policy - Block
- DocError
- 解析错误:统一码 + 可读描述 + 已尝试后端序列。
- DocMeta
- Document
- Document
Engine - 文档引擎:注册表 + 策略。
- Image
- Page
- RawDoc
- 解析能力的输出:尚未经过处理能力。
- RawImage
- 解析产出的原始图片(可携带 OCR 结果)。
- RawPage
- RawText
Item - 解析产出的原始文本项:text + 可选 bbox。
- Rect
- 轴对齐矩形,坐标语义由产生方决定(页面 px / pt / 逻辑单位)。
- Registry
- Registry
Error - 复合后端不可委托成环。
- Table
Data - 结构化表格:rows[row][col] = 单元格文本。
Enums§
- Backend
Kind - 能力实现形态。
- Block
Kind - Error
Code - 全局统一错误码。
- Profile
Traits§
- Format
Plugin - 文档插件:某文件类型的完整处理器(组装 RawDoc → IR Document)。
- Parse
Capability - 解析能力:格式绑定,把文件读成 RawDoc。
- Process
Capability - 处理能力:全局共享,就地增强 RawDoc(OCR / layout)。
Functions§
- engine
- 组装默认引擎:纯文本插件 + 已启用特性对应的后端(PDF / Office / EPUB)。
- engine_
with - 组装默认引擎并指定策略(后端链、超时、OCR 开关等)。
- parse
- 解析单个文件为统一 IR(等价于
engine().parse(path))。 - parse_
json - 解析并直接输出 JSON(与 CLI
--format json同构)。 - parse_
markdown - 解析并直接输出 Markdown。
- parse_
text - 解析并直接输出纯文本。