mistral_openapi_client/models/
ocr_page_object.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct OcrPageObject {
16 #[serde(rename = "index")]
18 pub index: i32,
19 #[serde(rename = "markdown")]
21 pub markdown: String,
22 #[serde(rename = "images")]
24 pub images: Vec<models::OcrImageObject>,
25 #[serde(rename = "tables", skip_serializing_if = "Option::is_none")]
27 pub tables: Option<Vec<models::OcrTableObject>>,
28 #[serde(rename = "hyperlinks", skip_serializing_if = "Option::is_none")]
30 pub hyperlinks: Option<Vec<String>>,
31 #[serde(rename = "header", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
32 pub header: Option<Option<String>>,
33 #[serde(rename = "footer", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
34 pub footer: Option<Option<String>>,
35 #[serde(rename = "dimensions", deserialize_with = "Option::deserialize")]
36 pub dimensions: Option<Box<models::OcrPageDimensions>>,
37}
38
39impl OcrPageObject {
40 pub fn new(index: i32, markdown: String, images: Vec<models::OcrImageObject>, dimensions: Option<models::OcrPageDimensions>) -> OcrPageObject {
41 OcrPageObject {
42 index,
43 markdown,
44 images,
45 tables: None,
46 hyperlinks: None,
47 header: None,
48 footer: None,
49 dimensions: if let Some(x) = dimensions {Some(Box::new(x))} else {None},
50 }
51 }
52}
53