pub struct HeadingDetectorProcessor { /* private fields */ }Expand description
标题检测处理器(Heuristic 级别)。
扫描文档中的 PdfBlock::Paragraph 块,根据启发式规则
将短文本段落提升为 PdfBlock::Heading:
- 文本长度 <=
max_heading_length(默认 80 字符) - 文本不含句号(非完整句子)
- 文本首字母大写或全大写
TODO: 后续增强——基于字体大小与加粗样式识别标题层级。
§Examples
use easypdf_markdown::processors::HeadingDetectorProcessor;
use easypdf_markdown::PdfMarkdownProcessor;
let proc = HeadingDetectorProcessor::new();
assert!(proc.capabilities().reading_order());Implementations§
Source§impl HeadingDetectorProcessor
impl HeadingDetectorProcessor
Sourcepub const fn with_max_length(self, max: usize) -> Self
pub const fn with_max_length(self, max: usize) -> Self
设置标题候选的最大字符数。
Trait Implementations§
Source§impl Clone for HeadingDetectorProcessor
impl Clone for HeadingDetectorProcessor
Source§fn clone(&self) -> HeadingDetectorProcessor
fn clone(&self) -> HeadingDetectorProcessor
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for HeadingDetectorProcessor
Source§impl Debug for HeadingDetectorProcessor
impl Debug for HeadingDetectorProcessor
Source§impl Default for HeadingDetectorProcessor
impl Default for HeadingDetectorProcessor
Source§impl PdfMarkdownProcessor for HeadingDetectorProcessor
impl PdfMarkdownProcessor for HeadingDetectorProcessor
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 Freeze for HeadingDetectorProcessor
impl RefUnwindSafe for HeadingDetectorProcessor
impl Send for HeadingDetectorProcessor
impl Sync for HeadingDetectorProcessor
impl Unpin for HeadingDetectorProcessor
impl UnsafeUnpin for HeadingDetectorProcessor
impl UnwindSafe for HeadingDetectorProcessor
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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