1use serde::{Deserialize, Serialize};
6
7use super::common::XlsxInnerXml;
8
9#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
11pub struct AppProperties {
12 #[serde(default)]
13 pub application: String,
14 #[serde(default)]
15 pub scale_crop: bool,
16 #[serde(default)]
17 pub doc_security: i32,
18 #[serde(default)]
19 pub company: String,
20 #[serde(default)]
21 pub links_up_to_date: bool,
22 #[serde(default)]
23 pub hyperlinks_changed: bool,
24 #[serde(default)]
25 pub app_version: String,
26}
27
28#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
31#[serde(rename = "Properties", rename_all = "PascalCase")]
32pub struct XlsxProperties {
33 #[serde(rename = "@xmlns:vt", default, skip_serializing_if = "Option::is_none")]
34 pub vt: Option<String>,
35 #[serde(default, skip_serializing_if = "Option::is_none")]
36 pub template: Option<String>,
37 #[serde(default, skip_serializing_if = "Option::is_none")]
38 pub manager: Option<String>,
39 #[serde(default, skip_serializing_if = "Option::is_none")]
40 pub company: Option<String>,
41 #[serde(default, skip_serializing_if = "Option::is_none")]
42 pub pages: Option<i64>,
43 #[serde(default, skip_serializing_if = "Option::is_none")]
44 pub words: Option<i64>,
45 #[serde(default, skip_serializing_if = "Option::is_none")]
46 pub characters: Option<i64>,
47 #[serde(
48 rename = "PresentationFormat",
49 default,
50 skip_serializing_if = "Option::is_none"
51 )]
52 pub presentation_format: Option<String>,
53 #[serde(default, skip_serializing_if = "Option::is_none")]
54 pub lines: Option<i64>,
55 #[serde(default, skip_serializing_if = "Option::is_none")]
56 pub paragraphs: Option<i64>,
57 #[serde(default, skip_serializing_if = "Option::is_none")]
58 pub slides: Option<i64>,
59 #[serde(default, skip_serializing_if = "Option::is_none")]
60 pub notes: Option<i64>,
61 #[serde(rename = "TotalTime", default, skip_serializing_if = "Option::is_none")]
62 pub total_time: Option<i64>,
63 #[serde(
64 rename = "HiddenSlides",
65 default,
66 skip_serializing_if = "Option::is_none"
67 )]
68 pub hidden_slides: Option<i64>,
69 #[serde(rename = "MMClips", default, skip_serializing_if = "Option::is_none")]
70 pub mm_clips: Option<i64>,
71 #[serde(default, skip_serializing_if = "Option::is_none")]
72 pub scale_crop: Option<bool>,
73 #[serde(
74 rename = "HeadingPairs",
75 default,
76 skip_serializing_if = "Option::is_none"
77 )]
78 pub heading_pairs: Option<XlsxVectorVariant>,
79 #[serde(
80 rename = "TitlesOfParts",
81 default,
82 skip_serializing_if = "Option::is_none"
83 )]
84 pub titles_of_parts: Option<XlsxVectorLpstr>,
85 #[serde(
86 rename = "LinksUpToDate",
87 default,
88 skip_serializing_if = "Option::is_none"
89 )]
90 pub links_up_to_date: Option<bool>,
91 #[serde(
92 rename = "CharactersWithSpaces",
93 default,
94 skip_serializing_if = "Option::is_none"
95 )]
96 pub characters_with_spaces: Option<i64>,
97 #[serde(rename = "SharedDoc", default, skip_serializing_if = "Option::is_none")]
98 pub shared_doc: Option<bool>,
99 #[serde(
100 rename = "HyperlinkBase",
101 default,
102 skip_serializing_if = "Option::is_none"
103 )]
104 pub hyperlink_base: Option<String>,
105 #[serde(rename = "HLinks", default, skip_serializing_if = "Option::is_none")]
106 pub h_links: Option<XlsxVectorVariant>,
107 #[serde(
108 rename = "HyperlinksChanged",
109 default,
110 skip_serializing_if = "Option::is_none"
111 )]
112 pub hyperlinks_changed: Option<bool>,
113 #[serde(rename = "DigSig", default, skip_serializing_if = "Option::is_none")]
114 pub dig_sig: Option<XlsxDigSig>,
115 #[serde(default, skip_serializing_if = "Option::is_none")]
116 pub application: Option<String>,
117 #[serde(
118 rename = "AppVersion",
119 default,
120 skip_serializing_if = "Option::is_none"
121 )]
122 pub app_version: Option<String>,
123 #[serde(
124 rename = "DocSecurity",
125 default,
126 skip_serializing_if = "Option::is_none"
127 )]
128 pub doc_security: Option<i64>,
129}
130
131#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
133pub struct XlsxVectorVariant {
134 #[serde(rename = "$value", default)]
135 pub content: String,
136}
137
138#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
139pub struct XlsxVectorLpstr {
140 #[serde(rename = "$value", default)]
141 pub content: String,
142}
143
144#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
146pub struct XlsxDigSig {
147 #[serde(flatten, default)]
148 pub inner: XlsxInnerXml,
149}