docparser-pdf
PDF 后端:PDFium 常驻 worker(一条线程独占 native 状态,通道收发)逐文本对象抽取
text + bbox,支持 CJK/CID 字体;pdf-extract(纯 Rust)作为兜底后端。
安装
运行时依赖(重要)
PDFium 是运行时动态库,不由本 crate 打包。查找顺序:
DOCPARSER_PDFIUM_LIB显式指定(推荐,发布环境务必显式设置);<exe>/../lib/{libpdfium.so|libpdfium.dylib|pdfium.dll}(自包含发布布局);- 开发机常见位置(pypdfium2 / liteparse 附带库)。
use ;
let mut reg = new;
register_defaults;
register_defaults;
let doc = new.parse?;
docparser_pdf::find_library() / find_ocr_binary() / find_ocr_models() 可直接用于自检:
println!;
扫描件与嵌入图 OCR
- 纯文本层可用即不触发 OCR;稀疏/乱码页才路由到 OCR(
BackendPolicy.enable_ocr)。 - OCR 走外部可执行文件
docparser-ocr(DOCPARSER_OCR_BIN)+ 模型目录(DOCPARSER_OCR_MODELS), 缺失时降级为纯文本,不报错。 - 嵌入图文字默认关闭,
DOCPARSER_OCR_IMAGES=1开启。
后端与错误
| 后端 id | 形态 | 说明 |
|---|---|---|
pdfium-worker |
bundled | 逐文本对象 + CJK CMap |
pdfium-text-v1 |
bundled | pdf-extract 兜底 |
encrypted / unsupported 为终止码,不回退;其余错误按策略链继续尝试。
许可
MIT OR Apache-2.0