Skip to main content

Crate docparser_pdf

Crate docparser_pdf 

Source
Expand description

docparser PDF 后端:pdfium-worker(PDFium 常驻 worker 线程 + 通道请求/响应)。

架构(发布形态 06 + PDF_TODO“native 调用进 worker 线程“):

  • 一条 worker 线程独占持有 Pdfium(含裸指针,非 Sync),进程内只此一处 native 状态;能力对象经 mpsc 通道发路径、收 RawDoc——避开了在 trait 对象里持有 Pdfium 的 Send/Sync 困境,也与 Python 参考实现的 PDF-0.1 语义对齐。
  • 逐文本对象抽取 text + bbox(pt,左上原点),支持 CJK CID 字体(PDFium 内建 CMap,不依赖 ToUnicode)——解决 pdf-extract v1 的中文盲区。
  • 错误分类:ENCRYPTED / CORRUPT。
  • 兜底后端 pdfium-text-v1(pdf-extract,纯 Rust):worker 缺失或解析失败时 按 BackendPolicy 链回退(encrypted/unsupported 为终止码,不回退)。

Structs§

PdfPlugin
PdfTextBackend
兜底后端 v1:pdf-extract(纯 Rust,无 dylib;CJK 无 ToUnicode 局限)。
PdfiumWorkerBackend
主后端:PDFium worker(库可用才 available)。

Functions§

find_library
运行时 PDFium 库发现:DOCPARSER_PDFIUM_LIB → 开发环境 pypdfium2 自带 → 无。
find_ocr_binary
find_ocr_models
is_terminal
便于外部核对终止码语义。
register_defaults
注册 PDF 后端(worker 可用才注册;v1 恒可用)与插件。