pub enum LayoutElementType {
Show 28 variants
DocTitle,
ParagraphTitle,
Text,
Content,
Abstract,
Image,
Table,
Chart,
Formula,
FigureTitle,
TableTitle,
ChartTitle,
FigureTableChartTitle,
Header,
HeaderImage,
Footer,
FooterImage,
Footnote,
Seal,
Number,
Reference,
ReferenceContent,
Algorithm,
FormulaNumber,
AsideText,
List,
Region,
Other,
}Expand description
Layout element type supporting PP-StructureV3’s full label set.
This enum represents both semantic categories and fine-grained labels for layout elements. PP-StructureV3 models output 20 or 23 class labels depending on the model variant.
The original model-specific label is preserved in LayoutElement.label field.
§PP-StructureV3 Label Categories
Document structure:
DocTitle- Document title (doc_title)ParagraphTitle- Section/paragraph title (paragraph_title)Text- General text contentContent- Table of contents (content)Abstract- Abstract section
Visual elements:
Image- Images/figures (image, figure)Table- TablesChart- Charts/graphsFormula- Mathematical formulas
Captions and titles:
FigureTitle- Figure caption (figure_title)TableTitle- Table caption (table_title)ChartTitle- Chart caption (chart_title)FigureTableChartTitle- Combined caption type
Page structure:
Header- Page headerHeaderImage- Header imageFooter- Page footerFooterImage- Footer imageFootnote- Footnotes
Special elements:
-
Seal- Stamps/official seals -
Number- Page numbers -
Reference- References section -
ReferenceContent- Reference content -
Algorithm- Algorithm blocks -
FormulaNumber- Formula numbers -
AsideText- Marginal/aside text -
List- List items -
Other- Unknown/unmapped labels
Variants§
DocTitle
Document title
ParagraphTitle
Paragraph/section title
Text
General text content
Content
Table of contents
Abstract
Abstract section
Image
Image or figure
Table
Table
Chart
Chart or graph
Formula
Mathematical formula
FigureTitle
Figure caption/title
TableTitle
Table caption/title
ChartTitle
Chart caption/title
FigureTableChartTitle
Combined figure/table/chart title (PP-DocLayout)
Header
Page header
HeaderImage
Header image
Page footer
Footer image
Footnote
Footnote
Seal
Stamp or official seal
Number
Page number
Reference
Reference section
ReferenceContent
Reference content (PP-DocLayout_plus-L)
Algorithm
Algorithm block
FormulaNumber
Formula number
AsideText
Marginal/aside text
List
List items
Region
Generic document region block (PP-DocBlockLayout) Used for hierarchical layout ordering and block grouping
Other
Other/unknown (original label preserved in LayoutElement.label)
Implementations§
Source§impl LayoutElementType
impl LayoutElementType
Sourcepub fn as_str(&self) -> &'static str
pub fn as_str(&self) -> &'static str
Returns the string representation of the element type.
This returns the PP-StructureV3 compatible label string.
Sourcepub fn from_label(label: &str) -> LayoutElementType
pub fn from_label(label: &str) -> LayoutElementType
Creates a LayoutElementType from a string label with fine-grained mapping.
This method maps model output labels to their corresponding fine-grained types, preserving the full PP-StructureV3 label set (20/23 classes).
Sourcepub fn semantic_category(&self) -> &'static str
pub fn semantic_category(&self) -> &'static str
Returns the semantic category for this element type.
This method groups fine-grained types into broader semantic categories, useful for processing logic that doesn’t need fine-grained distinctions.
§Categories
- Title: DocTitle, ParagraphTitle
- Text: Text, Content, Abstract
- Visual: Image, Chart
- Table: Table
- Caption: FigureTitle, TableTitle, ChartTitle, FigureTableChartTitle
- Header: Header, HeaderImage
- Footer: Footer, FooterImage, Footnote
- Formula: Formula, FormulaNumber
- Special: Seal, Number, Reference, ReferenceContent, Algorithm, AsideText
- List: List
- Other: Other
Sourcepub fn is_visual(&self) -> bool
pub fn is_visual(&self) -> bool
Returns whether this element type is a visual element (image, chart, figure).
Sourcepub fn is_caption(&self) -> bool
pub fn is_caption(&self) -> bool
Returns whether this element type is a caption variant.
Returns whether this element type is a footer variant.
Sourcepub fn is_formula(&self) -> bool
pub fn is_formula(&self) -> bool
Returns whether this element type is a formula variant.
Sourcepub fn should_ocr(&self) -> bool
pub fn should_ocr(&self) -> bool
Returns whether this element type contains text content that should be OCR’d.
Trait Implementations§
Source§impl Clone for LayoutElementType
impl Clone for LayoutElementType
Source§fn clone(&self) -> LayoutElementType
fn clone(&self) -> LayoutElementType
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LayoutElementType
impl Debug for LayoutElementType
Source§impl<'de> Deserialize<'de> for LayoutElementType
impl<'de> Deserialize<'de> for LayoutElementType
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<LayoutElementType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<LayoutElementType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Hash for LayoutElementType
impl Hash for LayoutElementType
Source§impl PartialEq for LayoutElementType
impl PartialEq for LayoutElementType
Source§impl Serialize for LayoutElementType
impl Serialize for LayoutElementType
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for LayoutElementType
impl Eq for LayoutElementType
impl StructuralPartialEq for LayoutElementType
Auto Trait Implementations§
impl Freeze for LayoutElementType
impl RefUnwindSafe for LayoutElementType
impl Send for LayoutElementType
impl Sync for LayoutElementType
impl Unpin for LayoutElementType
impl UnwindSafe for LayoutElementType
Blanket Implementations§
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
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>
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>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.