Skip to main content

Crate docparser_sdk

Crate docparser_sdk 

Source
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§

BackendPolicy
Block
DocError
解析错误:统一码 + 可读描述 + 已尝试后端序列。
DocMeta
Document
DocumentEngine
文档引擎:注册表 + 策略。
Image
Page
RawDoc
解析能力的输出:尚未经过处理能力。
RawImage
解析产出的原始图片(可携带 OCR 结果)。
RawPage
RawTextItem
解析产出的原始文本项:text + 可选 bbox。
Rect
轴对齐矩形,坐标语义由产生方决定(页面 px / pt / 逻辑单位)。
Registry
RegistryError
复合后端不可委托成环。
TableData
结构化表格:rows[row][col] = 单元格文本。

Enums§

BackendKind
能力实现形态。
BlockKind
ErrorCode
全局统一错误码。
Profile

Traits§

FormatPlugin
文档插件:某文件类型的完整处理器(组装 RawDoc → IR Document)。
ParseCapability
解析能力:格式绑定,把文件读成 RawDoc。
ProcessCapability
处理能力:全局共享,就地增强 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
解析并直接输出纯文本。

Type Aliases§

Result