pub struct OcrProcessor { /* private fields */ }Expand description
Markdown 处理器管道中的 OCR 处理器。
扫描文档模型中需要 OCR 的页面(基于配置的 OcrTrigger 策略),
将这些页面渲染为图像,通过配置的 OcrEngine 执行 OCR,
并将识别文本作为新的 PdfBlock::Paragraph 块注入。
§Examples
use easypdf_markdown::PdfMarkdownProcessor;
use easypdf_markdown::ocr::OcrProcessor;
let processor = OcrProcessor::with_mock_engine();
let caps = processor.capabilities();
assert!(caps.ocr());Implementations§
Source§impl OcrProcessor
impl OcrProcessor
Sourcepub fn new(engine: Box<dyn OcrEngine>, backend: RenderBackend) -> Self
pub fn new(engine: Box<dyn OcrEngine>, backend: RenderBackend) -> Self
使用给定引擎和渲染后端创建新的 OCR 处理器。
渲染后端用于在处理时从 PDF 输入路径构建
PdfRenderer。
Sourcepub fn with_mock_engine() -> Self
pub fn with_mock_engine() -> Self
使用模拟引擎创建新的 OCR 处理器(用于测试)。
Sourcepub fn with_renderer(self, renderer: Box<dyn PdfRenderer>) -> Self
pub fn with_renderer(self, renderer: Box<dyn PdfRenderer>) -> Self
设置预构建的渲染器(覆盖后端渲染方式)。
适用于使用不需要真实 PDF 文件的模拟渲染器进行测试。
Sourcepub fn with_config(self, config: OcrConfig) -> Self
pub fn with_config(self, config: OcrConfig) -> Self
设置 OCR 配置。
Trait Implementations§
Source§impl Debug for OcrProcessor
impl Debug for OcrProcessor
Source§impl PdfMarkdownProcessor for OcrProcessor
impl PdfMarkdownProcessor for OcrProcessor
Source§fn capabilities(&self) -> MarkdownProcessorCapabilities
fn capabilities(&self) -> MarkdownProcessorCapabilities
返回处理器能够真正提供的能力。
Source§fn process(
&self,
input: &PdfInput,
document: PdfDocumentModel,
) -> Result<(PdfDocumentModel, Vec<MarkdownWarning>)>
fn process( &self, input: &PdfInput, document: PdfDocumentModel, ) -> Result<(PdfDocumentModel, Vec<MarkdownWarning>)>
增强语义模型并返回本处理器产生的非致命警告。 Read more
Auto Trait Implementations§
impl !RefUnwindSafe for OcrProcessor
impl !UnwindSafe for OcrProcessor
impl Freeze for OcrProcessor
impl Send for OcrProcessor
impl Sync for OcrProcessor
impl Unpin for OcrProcessor
impl UnsafeUnpin for OcrProcessor
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more