spec: update snaps (#272)

* spec: update snaps

* fix: lint

* 0.0.184

* fix: snaps

* fix: Add id

* 0.0.186

* fix: Add divid

* 0.0.187

* fix: divsChild

* 0.0.188

* 0.0.189

* fix: add fixtures
main
bokuweb 2021-04-09 11:30:50 +09:00 committed by GitHub
parent 153429a086
commit b0a7de6b69
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
73 changed files with 1767 additions and 836 deletions

View File

@ -4,7 +4,7 @@ use std::fs::File;
use std::io::{Read, Write}; use std::io::{Read, Write};
pub fn main() { pub fn main() {
let mut file = File::open("./commenta.docx").unwrap(); let mut file = File::open("./fixtures/div/div.docx").unwrap();
let mut buf = vec![]; let mut buf = vec![];
file.read_to_end(&mut buf).unwrap(); file.read_to_end(&mut buf).unwrap();

View File

@ -59,7 +59,7 @@ mod tests {
); );
assert_eq!( assert_eq!(
serde_json::to_string(&graphic).unwrap(), serde_json::to_string(&graphic).unwrap(),
r#"{"children":[{"dataType":"wpShape","children":[{"type":"shape","data":{"children":[{"type":"textbox","data":{"children":[{"children":[{"type":"paragraph","data":{"id":"12345678","children":[{"type":"run","data":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"children":[{"type":"text","data":{"preserveSpace":true,"text":"pattern1"}}]}}],"property":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"style":null,"numberingProperty":null,"alignment":null,"indent":null,"lineHeight":null},"hasNumbering":false}}],"has_numbering":false}],"hasNumbering":false}}]}}]}]}"# r#"{"children":[{"dataType":"wpShape","children":[{"type":"shape","data":{"children":[{"type":"textbox","data":{"children":[{"children":[{"type":"paragraph","data":{"id":"12345678","children":[{"type":"run","data":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"children":[{"type":"text","data":{"preserveSpace":true,"text":"pattern1"}}]}}],"property":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"style":null,"numberingProperty":null,"alignment":null,"indent":null,"lineHeight":null,"divId":null},"hasNumbering":false}}],"has_numbering":false}],"hasNumbering":false}}]}}]}]}"#
); );
} }
} }

View File

@ -90,7 +90,7 @@ mod tests {
.num_style_link("style1"); .num_style_link("style1");
assert_eq!( assert_eq!(
serde_json::to_string(&c).unwrap(), serde_json::to_string(&c).unwrap(),
r#"{"id":0,"styleLink":null,"numStyleLink":"style1","levels":[{"level":1,"start":1,"format":"decimal","text":"%4.","jc":"left","pstyle":null,"paragraphProperty":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"style":null,"numberingProperty":null,"alignment":null,"indent":null,"lineHeight":null},"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"suffix":"tab"}]}"# r#"{"id":0,"styleLink":null,"numStyleLink":"style1","levels":[{"level":1,"start":1,"format":"decimal","text":"%4.","jc":"left","pstyle":null,"paragraphProperty":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"style":null,"numberingProperty":null,"alignment":null,"indent":null,"lineHeight":null,"divId":null},"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"suffix":"tab"}]}"#
); );
} }
} }

View File

@ -0,0 +1,59 @@
use serde::Serialize;
#[derive(Debug, Clone, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Div {
pub id: String,
pub margin_left: usize,
pub margin_right: usize,
pub margin_top: usize,
pub margin_bottom: usize,
pub divs_child: Vec<Div>,
}
impl Default for Div {
fn default() -> Self {
Self {
id: "".to_string(),
margin_left: 0,
margin_right: 0,
margin_top: 0,
margin_bottom: 0,
divs_child: vec![],
}
}
}
impl Div {
pub fn new(id: impl Into<String>) -> Self {
Self {
id: id.into(),
..Default::default()
}
}
pub fn margin_left(mut self, s: usize) -> Self {
self.margin_left = s;
self
}
pub fn margin_right(mut self, s: usize) -> Self {
self.margin_right = s;
self
}
pub fn margin_top(mut self, s: usize) -> Self {
self.margin_top = s;
self
}
pub fn margin_bottom(mut self, s: usize) -> Self {
self.margin_bottom = s;
self
}
pub fn add_child(mut self, s: Div) -> Self {
self.divs_child.push(s);
self
}
}

View File

@ -15,6 +15,7 @@ mod comment_range_start;
mod default_tab_stop; mod default_tab_stop;
mod delete; mod delete;
mod delete_text; mod delete_text;
mod div;
mod doc_defaults; mod doc_defaults;
mod doc_grid; mod doc_grid;
mod doc_id; mod doc_id;
@ -106,6 +107,7 @@ pub use comment_range_start::*;
pub use default_tab_stop::*; pub use default_tab_stop::*;
pub use delete::*; pub use delete::*;
pub use delete_text::*; pub use delete_text::*;
pub use div::*;
pub use doc_defaults::*; pub use doc_defaults::*;
pub use doc_grid::*; pub use doc_grid::*;
pub use doc_id::*; pub use doc_id::*;

View File

@ -305,7 +305,7 @@ mod tests {
let p = Paragraph::new().add_run(run); let p = Paragraph::new().add_run(run);
assert_eq!( assert_eq!(
serde_json::to_string(&p).unwrap(), serde_json::to_string(&p).unwrap(),
r#"{"id":"12345678","children":[{"type":"run","data":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"children":[{"type":"text","data":{"preserveSpace":true,"text":"Hello"}}]}}],"property":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"style":null,"numberingProperty":null,"alignment":null,"indent":null,"lineHeight":null},"hasNumbering":false}"# r#"{"id":"12345678","children":[{"type":"run","data":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"children":[{"type":"text","data":{"preserveSpace":true,"text":"Hello"}}]}}],"property":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"style":null,"numberingProperty":null,"alignment":null,"indent":null,"lineHeight":null,"divId":null},"hasNumbering":false}"#
); );
} }
@ -316,7 +316,7 @@ mod tests {
let p = Paragraph::new().add_insert(ins); let p = Paragraph::new().add_insert(ins);
assert_eq!( assert_eq!(
serde_json::to_string(&p).unwrap(), serde_json::to_string(&p).unwrap(),
r#"{"id":"12345678","children":[{"type":"insert","data":{"children":[{"type":"run","data":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"children":[{"type":"text","data":{"preserveSpace":true,"text":"Hello"}}]}}],"author":"unnamed","date":"1970-01-01T00:00:00Z"}}],"property":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"style":null,"numberingProperty":null,"alignment":null,"indent":null,"lineHeight":null},"hasNumbering":false}"# r#"{"id":"12345678","children":[{"type":"insert","data":{"children":[{"type":"run","data":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"children":[{"type":"text","data":{"preserveSpace":true,"text":"Hello"}}]}}],"author":"unnamed","date":"1970-01-01T00:00:00Z"}}],"property":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"style":null,"numberingProperty":null,"alignment":null,"indent":null,"lineHeight":null,"divId":null},"hasNumbering":false}"#
); );
} }
} }

View File

@ -14,6 +14,8 @@ pub struct ParagraphProperty {
pub alignment: Option<Justification>, pub alignment: Option<Justification>,
pub indent: Option<Indent>, pub indent: Option<Indent>,
pub line_height: Option<u32>, pub line_height: Option<u32>,
// read only
pub(crate) div_id: Option<String>,
} }
impl Default for ParagraphProperty { impl Default for ParagraphProperty {
@ -25,6 +27,7 @@ impl Default for ParagraphProperty {
alignment: None, alignment: None,
indent: None, indent: None,
line_height: None, line_height: None,
div_id: None,
} }
} }
} }
@ -146,7 +149,7 @@ mod tests {
let b = c.indent(Some(20), Some(SpecialIndentType::FirstLine(10)), None, None); let b = c.indent(Some(20), Some(SpecialIndentType::FirstLine(10)), None, None);
assert_eq!( assert_eq!(
serde_json::to_string(&b).unwrap(), serde_json::to_string(&b).unwrap(),
r#"{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"style":null,"numberingProperty":null,"alignment":null,"indent":{"start":20,"startChars":null,"end":null,"specialIndent":{"type":"firstLine","val":10},"hangingChars":null,"firstLineChars":null},"lineHeight":null}"# r#"{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"style":null,"numberingProperty":null,"alignment":null,"indent":{"start":20,"startChars":null,"end":null,"specialIndent":{"type":"firstLine","val":10},"hangingChars":null,"firstLineChars":null},"lineHeight":null,"divId":null}"#
); );
} }
} }

View File

@ -185,7 +185,7 @@ mod tests {
.grid_span(2); .grid_span(2);
assert_eq!( assert_eq!(
serde_json::to_string(&c).unwrap(), serde_json::to_string(&c).unwrap(),
r#"{"children":[{"type":"paragraph","data":{"id":"12345678","children":[{"type":"run","data":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"children":[{"type":"text","data":{"preserveSpace":true,"text":"Hello"}}]}}],"property":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"style":null,"numberingProperty":null,"alignment":null,"indent":null,"lineHeight":null},"hasNumbering":false}}],"property":{"width":null,"borders":null,"gridSpan":2,"verticalMerge":null,"verticalAlign":null,"textDirection":null,"shading":null},"hasNumbering":false}"# r#"{"children":[{"type":"paragraph","data":{"id":"12345678","children":[{"type":"run","data":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"children":[{"type":"text","data":{"preserveSpace":true,"text":"Hello"}}]}}],"property":{"runProperty":{"sz":null,"szCs":null,"color":null,"highlight":null,"underline":null,"bold":null,"boldCs":null,"italic":null,"italicCs":null,"vanish":null,"spacing":null,"fonts":null,"textBorder":null},"style":null,"numberingProperty":null,"alignment":null,"indent":null,"lineHeight":null,"divId":null},"hasNumbering":false}}],"property":{"width":null,"borders":null,"gridSpan":2,"verticalMerge":null,"verticalAlign":null,"textDirection":null,"shading":null},"hasNumbering":false}"#
); );
} }
} }

View File

@ -18,6 +18,7 @@ mod pic_id;
mod rels; mod rels;
mod settings; mod settings;
mod styles; mod styles;
mod web_settings;
mod xml_docx; mod xml_docx;
pub(crate) use build_xml::BuildXML; pub(crate) use build_xml::BuildXML;
@ -38,6 +39,7 @@ pub use numberings::*;
pub use rels::*; pub use rels::*;
pub use settings::*; pub use settings::*;
pub use styles::*; pub use styles::*;
pub use web_settings::*;
pub use xml_docx::*; pub use xml_docx::*;
use serde::Serialize; use serde::Serialize;
@ -58,6 +60,7 @@ pub struct Docx {
pub media: Vec<(usize, Vec<u8>)>, pub media: Vec<(usize, Vec<u8>)>,
pub header: Header, pub header: Header,
pub comments_extended: CommentsExtended, pub comments_extended: CommentsExtended,
pub web_settings: WebSettings,
} }
impl Default for Docx { impl Default for Docx {
@ -75,6 +78,7 @@ impl Default for Docx {
let media = vec![]; let media = vec![];
let header = Header::new(); let header = Header::new();
let comments_extended = CommentsExtended::new(); let comments_extended = CommentsExtended::new();
let web_settings = WebSettings::new();
Docx { Docx {
content_type, content_type,
@ -90,6 +94,7 @@ impl Default for Docx {
media, media,
header, header,
comments_extended, comments_extended,
web_settings,
} }
} }
} }
@ -134,6 +139,12 @@ impl Docx {
self self
} }
// reader only
pub(crate) fn web_settings(mut self, s: WebSettings) -> Self {
self.web_settings = s;
self
}
pub fn comments(mut self, c: Comments) -> Self { pub fn comments(mut self, c: Comments) -> Self {
self.comments = c; self.comments = c;
self self

View File

@ -0,0 +1,21 @@
use serde::Serialize;
use super::*;
#[derive(Debug, Clone, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct WebSettings {
pub divs: Vec<Div>,
}
impl WebSettings {
pub fn new() -> WebSettings {
Default::default()
}
}
impl Default for WebSettings {
fn default() -> Self {
Self { divs: vec![] }
}
}

View File

@ -0,0 +1,11 @@
use xml::attribute::OwnedAttribute;
pub fn read_id(attrs: &[OwnedAttribute]) -> Option<String> {
for a in attrs {
let local_name = &a.name.local_name;
if local_name == "id" {
return Some(a.value.to_owned());
}
}
None
}

View File

@ -1,5 +1,6 @@
mod bool_value; mod bool_value;
mod border; mod border;
mod id;
mod indent; mod indent;
mod indent_level; mod indent_level;
mod name; mod name;
@ -8,6 +9,7 @@ mod width;
pub use bool_value::*; pub use bool_value::*;
pub use border::*; pub use border::*;
pub use id::*;
pub use indent::*; pub use indent::*;
pub use indent_level::*; pub use indent_level::*;
pub use name::*; pub use name::*;

View File

@ -0,0 +1,89 @@
use std::io::Read;
use std::str::FromStr;
use xml::attribute::OwnedAttribute;
use xml::reader::{EventReader, XmlEvent};
use super::*;
impl ElementReader for Div {
fn read<R: Read>(
r: &mut EventReader<R>,
attrs: &[OwnedAttribute],
) -> Result<Self, ReaderError> {
let id = read_id(&attrs).unwrap_or_default();
let mut div = Div::new(id);
loop {
let e = r.next();
match e {
Ok(XmlEvent::StartElement {
attributes, name, ..
}) => {
let e = XMLElement::from_str(&name.local_name).unwrap();
match e {
XMLElement::MarginLeft => {
if let Some(val) = read_val(&attributes) {
if let Ok(val) = f32::from_str(&val) {
div = div.margin_left(val as usize);
}
}
}
XMLElement::MarginRight => {
if let Some(val) = read_val(&attributes) {
if let Ok(val) = f32::from_str(&val) {
div = div.margin_right(val as usize);
}
}
}
XMLElement::MarginTop => {
if let Some(val) = read_val(&attributes) {
if let Ok(val) = f32::from_str(&val) {
div = div.margin_top(val as usize);
}
}
}
XMLElement::MarginBottom => {
if let Some(val) = read_val(&attributes) {
if let Ok(val) = f32::from_str(&val) {
div = div.margin_bottom(val as usize);
}
}
}
XMLElement::DivsChild => loop {
let e = r.next();
match e {
Ok(XmlEvent::StartElement {
attributes, name, ..
}) => {
let e = XMLElement::from_str(&name.local_name).unwrap();
if let XMLElement::Div = e {
if let Ok(c) = Div::read(r, &attributes) {
div = div.add_child(c)
}
}
}
Ok(XmlEvent::EndElement { name, .. }) => {
let e = XMLElement::from_str(&name.local_name).unwrap();
if let XMLElement::DivsChild = e {
break;
}
}
Err(_) => return Err(ReaderError::XMLReadError),
_ => {}
}
},
_ => {}
}
}
Ok(XmlEvent::EndElement { name, .. }) => {
let e = XMLElement::from_str(&name.local_name).unwrap();
if let XMLElement::Div = e {
return Ok(div);
}
}
Err(_) => return Err(ReaderError::XMLReadError),
_ => {}
}
}
}
}

View File

@ -8,14 +8,15 @@ mod comment_extended;
mod comments; mod comments;
mod comments_extended; mod comments_extended;
mod delete; mod delete;
mod div;
mod doc_defaults; mod doc_defaults;
mod doc_grid;
mod document; mod document;
mod document_rels; mod document_rels;
mod drawing; mod drawing;
mod errors; mod errors;
mod from_xml; mod from_xml;
mod ignore; mod ignore;
mod table_cell_property;
mod insert; mod insert;
mod level; mod level;
mod level_override; mod level_override;
@ -25,7 +26,6 @@ mod numberings;
mod paragraph; mod paragraph;
mod read_zip; mod read_zip;
mod rels; mod rels;
mod doc_grid;
mod run; mod run;
mod run_property; mod run_property;
mod section_property; mod section_property;
@ -37,9 +37,11 @@ mod table;
mod table_borders; mod table_borders;
mod table_cell; mod table_cell;
mod table_cell_borders; mod table_cell_borders;
mod table_cell_property;
mod table_property; mod table_property;
mod table_row; mod table_row;
mod text_box_content; mod text_box_content;
mod web_settings;
mod wp_anchor; mod wp_anchor;
mod wps_shape; mod wps_shape;
mod wps_text_box; mod wps_text_box;
@ -57,6 +59,7 @@ pub use mc_fallback::*;
pub use read_zip::*; pub use read_zip::*;
pub use xml_element::*; pub use xml_element::*;
// 2006
const DOC_RELATIONSHIP_TYPE: &str = const DOC_RELATIONSHIP_TYPE: &str =
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"; "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument";
const STYLE_RELATIONSHIP_TYPE: &str = const STYLE_RELATIONSHIP_TYPE: &str =
@ -67,6 +70,9 @@ const SETTINGS_TYPE: &str =
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings"; "http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings";
const COMMENTS_TYPE: &str = const COMMENTS_TYPE: &str =
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments"; "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments";
const WEB_SETTINGS_TYPE: &str =
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings";
// 2011
const COMMENTS_EXTENDED_TYPE: &str = const COMMENTS_EXTENDED_TYPE: &str =
"http://schemas.microsoft.com/office/2011/relationships/commentsExtended"; "http://schemas.microsoft.com/office/2011/relationships/commentsExtended";
@ -213,5 +219,19 @@ pub fn read_docx(buf: &[u8]) -> Result<Docx, ReaderError> {
docx = docx.settings(settings); docx = docx.settings(settings);
} }
// Read web settings
let web_settings_path = rels.find_target_path(WEB_SETTINGS_TYPE);
dbg!(&web_settings_path);
if let Some(web_settings_path) = web_settings_path {
let data = read_zip(
&mut archive,
web_settings_path
.to_str()
.expect("should have web settings"),
)?;
let web_settings = WebSettings::from_xml(&data[..])?;
docx = docx.web_settings(web_settings);
}
Ok(docx) Ok(docx)
} }

View File

@ -108,6 +108,12 @@ impl ElementReader for Paragraph {
p = p.style(&attributes[0].value); p = p.style(&attributes[0].value);
continue; continue;
} }
XMLElement::DivId => {
if let Some(val) = read_val(&attributes) {
p.property.div_id = Some(val)
}
continue;
}
XMLElement::NumberingProperty => { XMLElement::NumberingProperty => {
let num_pr = NumberingProperty::read(r, attrs)?; let num_pr = NumberingProperty::read(r, attrs)?;
if num_pr.id.is_some() && num_pr.level.is_some() { if num_pr.id.is_some() && num_pr.level.is_some() {
@ -177,6 +183,7 @@ mod tests {
None, None,
)), )),
line_height: None, line_height: None,
..Default::default()
}, },
has_numbering: false, has_numbering: false,
} }
@ -212,6 +219,7 @@ mod tests {
alignment: None, alignment: None,
indent: Some(Indent::new(None, None, None, Some(100))), indent: Some(Indent::new(None, None, None, Some(100))),
line_height: None, line_height: None,
..Default::default()
}, },
has_numbering: false, has_numbering: false,
} }
@ -242,6 +250,7 @@ mod tests {
alignment: Some(Justification::new(AlignmentType::Left.to_string())), alignment: Some(Justification::new(AlignmentType::Left.to_string())),
indent: None, indent: None,
line_height: None, line_height: None,
..Default::default()
}, },
has_numbering: false, has_numbering: false,
} }
@ -276,6 +285,7 @@ mod tests {
alignment: None, alignment: None,
indent: None, indent: None,
line_height: None, line_height: None,
..Default::default()
}, },
has_numbering: true, has_numbering: true,
} }
@ -312,6 +322,7 @@ mod tests {
alignment: None, alignment: None,
indent: None, indent: None,
line_height: None, line_height: None,
..Default::default()
}, },
has_numbering: false, has_numbering: false,
} }
@ -350,6 +361,7 @@ mod tests {
alignment: None, alignment: None,
indent: None, indent: None,
line_height: None, line_height: None,
..Default::default()
}, },
has_numbering: false, has_numbering: false,
} }
@ -387,6 +399,7 @@ mod tests {
alignment: None, alignment: None,
indent: None, indent: None,
line_height: None, line_height: None,
..Default::default()
}, },
has_numbering: false, has_numbering: false,
} }
@ -436,6 +449,7 @@ mod tests {
alignment: None, alignment: None,
indent: None, indent: None,
line_height: None, line_height: None,
..Default::default()
}, },
has_numbering: false, has_numbering: false,
} }
@ -477,6 +491,7 @@ mod tests {
alignment: None, alignment: None,
indent: None, indent: None,
line_height: None, line_height: None,
..Default::default()
}, },
has_numbering: false, has_numbering: false,
} }

View File

@ -0,0 +1,40 @@
use std::io::Read;
use xml::reader::{EventReader, XmlEvent};
use super::*;
use crate::reader::{FromXML, ReaderError};
use std::str::FromStr;
impl FromXML for WebSettings {
fn from_xml<R: Read>(reader: R) -> Result<Self, ReaderError> {
let mut parser = EventReader::new(reader);
let mut settings = Self::default();
loop {
let e = parser.next();
match e {
Ok(XmlEvent::StartElement {
attributes, name, ..
}) => {
let e = XMLElement::from_str(&name.local_name).unwrap();
dbg!(&e);
if let XMLElement::Div = e {
if let Ok(div) = Div::read(&mut parser, &attributes) {
settings.divs.push(div);
}
}
}
Ok(XmlEvent::EndElement { name, .. }) => {
let e = XMLElement::from_str(&name.local_name).unwrap();
if let XMLElement::WebSettings = e {
break;
}
}
Ok(XmlEvent::EndDocument { .. }) => break,
Err(_) => return Err(ReaderError::XMLReadError),
_ => {}
}
}
Ok(settings)
}
}

View File

@ -40,6 +40,13 @@ pub enum XMLElement {
NumberingId, NumberingId,
Justification, Justification,
Insert, Insert,
DivId,
Div,
DivsChild,
MarginLeft,
MarginRight,
MarginTop,
MarginBottom,
Delete, Delete,
DeleteText, DeleteText,
BookmarkStart, BookmarkStart,
@ -121,6 +128,7 @@ pub enum XMLElement {
SectionProperty, SectionProperty,
PageSize, PageSize,
PageMargin, PageMargin,
WebSettings,
Unsupported, Unsupported,
} }
@ -294,6 +302,14 @@ impl FromStr for XMLElement {
"docGrid" => Ok(XMLElement::DocGrid), "docGrid" => Ok(XMLElement::DocGrid),
"rPrDefault" => Ok(XMLElement::RunPropertyDefault), "rPrDefault" => Ok(XMLElement::RunPropertyDefault),
"defaultTabStop" => Ok(XMLElement::DefaultTabStop), "defaultTabStop" => Ok(XMLElement::DefaultTabStop),
"divId" => Ok(XMLElement::DivId),
"div" => Ok(XMLElement::Div),
"divsChild" => Ok(XMLElement::DivsChild),
"marLeft" => Ok(XMLElement::MarginLeft),
"marRight" => Ok(XMLElement::MarginRight),
"marTop" => Ok(XMLElement::MarginTop),
"marBottom" => Ok(XMLElement::MarginBottom),
"webSettings" => Ok(XMLElement::WebSettings),
_ => Ok(XMLElement::Unsupported), _ => Ok(XMLElement::Unsupported),
} }
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2,6 +2,7 @@ import { StylesJSON } from "./styles";
import { DocumentJSON } from "./document"; import { DocumentJSON } from "./document";
import { NumberingsJSON } from "./numbering"; import { NumberingsJSON } from "./numbering";
import { CommentJSON } from "./comment"; import { CommentJSON } from "./comment";
import { WebSettingsJSON } from "./web-settings";
export type DocxJSON = { export type DocxJSON = {
contentType: { contentType: {
@ -36,6 +37,7 @@ export type DocxJSON = {
}; };
numberings: NumberingsJSON; numberings: NumberingsJSON;
settings: SettingsJSON; settings: SettingsJSON;
webSettings: WebSettingsJSON;
fontTable: {}; fontTable: {};
}; };
@ -56,6 +58,7 @@ export * from "./table";
export * from "./numbering"; export * from "./numbering";
export * from "./drawing"; export * from "./drawing";
export * from "./shading"; export * from "./shading";
export * from "./web-settings";
export * from "./comment"; export * from "./comment";
export * from "./textbox-content"; export * from "./textbox-content";
export * from "./section-property"; export * from "./section-property";

View File

@ -23,6 +23,7 @@ export type ParagraphPropertyJSON = {
alignment: "left" | "center" | "right" | "justified" | "both"; alignment: "left" | "center" | "right" | "justified" | "both";
indent: IndentJSON | null; indent: IndentJSON | null;
lineHeight: number | null; lineHeight: number | null;
divId: string | null;
}; };
export type ParagraphJSON = { export type ParagraphJSON = {

View File

@ -0,0 +1,12 @@
export type WebSettingsJSON = {
divs: DivJSON[];
};
export type DivJSON = {
id: string;
marginLeft: number;
marginRight: number;
marginTop: number;
marginBottom: number;
divsChild: DivJSON[];
};

View File

@ -1,6 +1,6 @@
{ {
"name": "docx-wasm", "name": "docx-wasm",
"version": "0.0.183", "version": "0.0.189",
"main": "dist/node/index.js", "main": "dist/node/index.js",
"browser": "dist/web/index.js", "browser": "dist/web/index.js",
"author": "bokuweb <bokuweb12@gmail.com>", "author": "bokuweb <bokuweb12@gmail.com>",

File diff suppressed because it is too large Load Diff

View File

@ -43,6 +43,12 @@ describe("reader", () => {
const json = w.readDocx(buf); const json = w.readDocx(buf);
expect(json).toMatchSnapshot(); expect(json).toMatchSnapshot();
}); });
test("should read div docx", () => {
const buffer = readFileSync("../fixtures/div/div.docx");
const json = w.readDocx(buffer);
expect(json).toMatchSnapshot();
});
}); });
describe("writer", () => { describe("writer", () => {

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/word/document.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/><Override PartName="/word/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"/><Override PartName="/word/settings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml"/><Override PartName="/word/webSettings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml"/><Override PartName="/word/fontTable.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml"/><Override PartName="/word/webextensions/taskpanes.xml" ContentType="application/vnd.ms-office.webextensiontaskpanes+xml"/><Override PartName="/word/webextensions/webextension1.xml" ContentType="application/vnd.ms-office.webextension+xml"/><Override PartName="/word/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/><Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/></Types>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId2" Type="http://schemas.microsoft.com/office/2011/relationships/webextensiontaskpanes" Target="word/webextensions/taskpanes.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="word/document.xml"/><Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/></Relationships>

Binary file not shown.

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Template>Normal.dotm</Template><TotalTime>978</TotalTime><Pages>1</Pages><Words>3</Words><Characters>20</Characters><Application>Microsoft Office Word</Application><DocSecurity>0</DocSecurity><Lines>1</Lines><Paragraphs>1</Paragraphs><ScaleCrop>false</ScaleCrop><HeadingPairs><vt:vector size="2" baseType="variant"><vt:variant><vt:lpstr>タイトル</vt:lpstr></vt:variant><vt:variant><vt:i4>1</vt:i4></vt:variant></vt:vector></HeadingPairs><TitlesOfParts><vt:vector size="1" baseType="lpstr"><vt:lpstr></vt:lpstr></vt:vector></TitlesOfParts><Company></Company><LinksUpToDate>false</LinksUpToDate><CharactersWithSpaces>22</CharactersWithSpaces><SharedDoc>false</SharedDoc><HyperlinksChanged>false</HyperlinksChanged><AppVersion>16.0000</AppVersion></Properties>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:title></dc:title><dc:subject></dc:subject><dc:creator>植木 智之</dc:creator><cp:keywords></cp:keywords><dc:description></dc:description><cp:lastModifiedBy>植木 智之</cp:lastModifiedBy><cp:revision>2</cp:revision><dcterms:created xsi:type="dcterms:W3CDTF">2021-04-07T09:14:00Z</dcterms:created><dcterms:modified xsi:type="dcterms:W3CDTF">2021-04-08T08:39:00Z</dcterms:modified></cp:coreProperties>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings" Target="webSettings.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings" Target="settings.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/><Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/><Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable" Target="fontTable.xml"/></Relationships>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex" xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex" xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex" xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex" xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex" xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex" xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex" xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink" xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex wp14"><w:body><w:p w14:paraId="23803594" w14:textId="77777777" w:rsidR="008751AA" w:rsidRDefault="008751AA"/><w:p w14:paraId="0151416E" w14:textId="12047DA8" w:rsidR="008751AA" w:rsidRDefault="001539BD"><w:pPr><w:widowControl/><w:ind w:hanging="1224"/><w:jc w:val="left"/><w:divId w:val="143931232"/><w:rPr><w:rFonts w:ascii="inherit" w:hAnsi="inherit" w:hint="eastAsia"/><w:kern w:val="0"/><w:szCs w:val="21"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="inherit" w:hAnsi="inherit" w:hint="eastAsia"/><w:szCs w:val="21"/></w:rPr><w:t>A</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="inherit" w:hAnsi="inherit"/><w:szCs w:val="21"/></w:rPr><w:t>rticle1</w:t></w:r><w:r w:rsidR="008751AA"><w:rPr><w:rFonts w:ascii="inherit" w:hAnsi="inherit"/><w:szCs w:val="21"/></w:rPr><w:t xml:space="preserve"> </w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="inherit" w:hAnsi="inherit" w:hint="eastAsia"/><w:szCs w:val="21"/></w:rPr><w:t>H</w:t></w:r><w:r><w:rPr><w:rFonts w:ascii="inherit" w:hAnsi="inherit"/><w:szCs w:val="21"/></w:rPr><w:t>ello</w:t></w:r></w:p><w:p w14:paraId="2547CF23" w14:textId="415CE006" w:rsidR="008751AA" w:rsidRDefault="001539BD"><w:pPr><w:divId w:val="999622277"/><w:rPr><w:rFonts w:ascii="inherit" w:hAnsi="inherit" w:hint="eastAsia"/><w:szCs w:val="21"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="inherit" w:hAnsi="inherit"/><w:szCs w:val="21"/></w:rPr><w:t>World</w:t></w:r></w:p><w:p w14:paraId="5485B331" w14:textId="283845E7" w:rsidR="008751AA" w:rsidRPr="001539BD" w:rsidRDefault="008751AA"/><w:sectPr w:rsidR="008751AA" w:rsidRPr="001539BD" w:rsidSect="00733037"><w:pgSz w:w="11900" w:h="16840"/><w:pgMar w:top="1985" w:right="1701" w:bottom="1701" w:left="1701" w:header="851" w:footer="992" w:gutter="0"/><w:cols w:space="425"/><w:docGrid w:type="lines" w:linePitch="360"/></w:sectPr></w:body></w:document>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:fonts xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex"><w:font w:name="游明朝"><w:panose1 w:val="02020400000000000000"/><w:charset w:val="80"/><w:family w:val="roman"/><w:pitch w:val="variable"/><w:sig w:usb0="800002E7" w:usb1="2AC7FCFF" w:usb2="00000012" w:usb3="00000000" w:csb0="0002009F" w:csb1="00000000"/></w:font><w:font w:name="Times New Roman"><w:panose1 w:val="02020603050405020304"/><w:charset w:val="00"/><w:family w:val="roman"/><w:pitch w:val="variable"/><w:sig w:usb0="E0002EFF" w:usb1="C000785B" w:usb2="00000009" w:usb3="00000000" w:csb0="000001FF" w:csb1="00000000"/></w:font><w:font w:name="inherit"><w:altName w:val="Cambria"/><w:panose1 w:val="020B0604020202020204"/><w:charset w:val="00"/><w:family w:val="roman"/><w:notTrueType/><w:pitch w:val="default"/></w:font><w:font w:name="游ゴシック Light"><w:panose1 w:val="020B0300000000000000"/><w:charset w:val="80"/><w:family w:val="swiss"/><w:pitch w:val="variable"/><w:sig w:usb0="E00002FF" w:usb1="2AC7FDFF" w:usb2="00000016" w:usb3="00000000" w:csb0="0002009F" w:csb1="00000000"/></w:font></w:fonts>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:settings xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex"><w:zoom w:percent="188"/><w:doNotDisplayPageBoundaries/><w:bordersDoNotSurroundHeader/><w:bordersDoNotSurroundFooter/><w:proofState w:spelling="clean" w:grammar="clean"/><w:defaultTabStop w:val="840"/><w:displayHorizontalDrawingGridEvery w:val="0"/><w:displayVerticalDrawingGridEvery w:val="2"/><w:characterSpacingControl w:val="compressPunctuation"/><w:compat><w:spaceForUL/><w:balanceSingleByteDoubleByteWidth/><w:doNotLeaveBackslashAlone/><w:ulTrailSpace/><w:doNotExpandShiftReturn/><w:adjustLineHeightInTable/><w:useFELayout/><w:compatSetting w:name="compatibilityMode" w:uri="http://schemas.microsoft.com/office/word" w:val="15"/><w:compatSetting w:name="overrideTableStyleFontSizeAndJustification" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/><w:compatSetting w:name="enableOpenTypeFeatures" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/><w:compatSetting w:name="doNotFlipMirrorIndents" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/><w:compatSetting w:name="differentiateMultirowTableHeaders" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/><w:compatSetting w:name="useWord2013TrackBottomHyphenation" w:uri="http://schemas.microsoft.com/office/word" w:val="0"/></w:compat><w:rsids><w:rsidRoot w:val="003D7BCF"/><w:rsid w:val="001539BD"/><w:rsid w:val="003D7BCF"/><w:rsid w:val="00723E87"/><w:rsid w:val="00733037"/><w:rsid w:val="008751AA"/></w:rsids><m:mathPr><m:mathFont m:val="Cambria Math"/><m:brkBin m:val="before"/><m:brkBinSub m:val="--"/><m:smallFrac m:val="0"/><m:dispDef/><m:lMargin m:val="0"/><m:rMargin m:val="0"/><m:defJc m:val="centerGroup"/><m:wrapIndent m:val="1440"/><m:intLim m:val="subSup"/><m:naryLim m:val="undOvr"/></m:mathPr><w:themeFontLang w:val="en-US" w:eastAsia="ja-JP"/><w:clrSchemeMapping w:bg1="light1" w:t1="dark1" w:bg2="light2" w:t2="dark2" w:accent1="accent1" w:accent2="accent2" w:accent3="accent3" w:accent4="accent4" w:accent5="accent5" w:accent6="accent6" w:hyperlink="hyperlink" w:followedHyperlink="followedHyperlink"/><w:decimalSymbol w:val="."/><w:listSeparator w:val=","/><w14:docId w14:val="6C6198ED"/><w15:chartTrackingRefBased/><w15:docId w15:val="{A1898E6C-1AED-3C4D-9CCF-C24208DA732E}"/></w:settings>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,216 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:webSettings xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml"
xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex"
xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid"
xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml"
xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex">
<w:divs>
<w:div w:id="344401095">
<w:bodyDiv w:val="1"/>
<w:marLeft w:val="0"/>
<w:marRight w:val="0"/>
<w:marTop w:val="0"/>
<w:marBottom w:val="0"/>
<w:divBdr>
<w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/>
</w:divBdr>
<w:divsChild>
<w:div w:id="1891112237">
<w:marLeft w:val="0"/>
<w:marRight w:val="0"/>
<w:marTop w:val="0"/>
<w:marBottom w:val="0"/>
<w:divBdr>
<w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/>
</w:divBdr>
<w:divsChild>
<w:div w:id="550842998">
<w:marLeft w:val="1224"/>
<w:marRight w:val="0"/>
<w:marTop w:val="0"/>
<w:marBottom w:val="0"/>
<w:divBdr>
<w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/>
</w:divBdr>
</w:div>
</w:divsChild>
</w:div>
<w:div w:id="2092265353">
<w:marLeft w:val="0"/>
<w:marRight w:val="0"/>
<w:marTop w:val="0"/>
<w:marBottom w:val="0"/>
<w:divBdr>
<w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/>
</w:divBdr>
<w:divsChild>
<w:div w:id="2111929312">
<w:marLeft w:val="918"/>
<w:marRight w:val="0"/>
<w:marTop w:val="0"/>
<w:marBottom w:val="0"/>
<w:divBdr>
<w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/>
</w:divBdr>
</w:div>
</w:divsChild>
</w:div>
</w:divsChild>
</w:div>
<w:div w:id="1448353598">
<w:bodyDiv w:val="1"/>
<w:marLeft w:val="0"/>
<w:marRight w:val="0"/>
<w:marTop w:val="0"/>
<w:marBottom w:val="0"/>
<w:divBdr>
<w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/>
</w:divBdr>
<w:divsChild>
<w:div w:id="1721401288">
<w:marLeft w:val="0"/>
<w:marRight w:val="0"/>
<w:marTop w:val="0"/>
<w:marBottom w:val="0"/>
<w:divBdr>
<w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/>
</w:divBdr>
<w:divsChild>
<w:div w:id="143931232">
<w:marLeft w:val="1224"/>
<w:marRight w:val="0"/>
<w:marTop w:val="0"/>
<w:marBottom w:val="0"/>
<w:divBdr>
<w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/>
</w:divBdr>
</w:div>
</w:divsChild>
</w:div>
<w:div w:id="530803451">
<w:marLeft w:val="0"/>
<w:marRight w:val="0"/>
<w:marTop w:val="0"/>
<w:marBottom w:val="0"/>
<w:divBdr>
<w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/>
</w:divBdr>
<w:divsChild>
<w:div w:id="999622277">
<w:marLeft w:val="918"/>
<w:marRight w:val="0"/>
<w:marTop w:val="0"/>
<w:marBottom w:val="0"/>
<w:divBdr>
<w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/>
</w:divBdr>
</w:div>
</w:divsChild>
</w:div>
</w:divsChild>
</w:div>
<w:div w:id="1539781370">
<w:bodyDiv w:val="1"/>
<w:marLeft w:val="0"/>
<w:marRight w:val="0"/>
<w:marTop w:val="0"/>
<w:marBottom w:val="0"/>
<w:divBdr>
<w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/>
</w:divBdr>
<w:divsChild>
<w:div w:id="517744164">
<w:marLeft w:val="0"/>
<w:marRight w:val="0"/>
<w:marTop w:val="0"/>
<w:marBottom w:val="0"/>
<w:divBdr>
<w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/>
</w:divBdr>
<w:divsChild>
<w:div w:id="1628391179">
<w:marLeft w:val="1224"/>
<w:marRight w:val="0"/>
<w:marTop w:val="0"/>
<w:marBottom w:val="0"/>
<w:divBdr>
<w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/>
</w:divBdr>
</w:div>
</w:divsChild>
</w:div>
<w:div w:id="448283929">
<w:marLeft w:val="0"/>
<w:marRight w:val="0"/>
<w:marTop w:val="0"/>
<w:marBottom w:val="0"/>
<w:divBdr>
<w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/>
</w:divBdr>
<w:divsChild>
<w:div w:id="868185557">
<w:marLeft w:val="918"/>
<w:marRight w:val="0"/>
<w:marTop w:val="0"/>
<w:marBottom w:val="0"/>
<w:divBdr>
<w:top w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:left w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:bottom w:val="none" w:sz="0" w:space="0" w:color="auto"/>
<w:right w:val="none" w:sz="0" w:space="0" w:color="auto"/>
</w:divBdr>
</w:div>
</w:divsChild>
</w:div>
</w:divsChild>
</w:div>
</w:divs>
<w:optimizeForBrowser/>
<w:allowPNG/>
</w:webSettings>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.microsoft.com/office/2011/relationships/webextension" Target="webextension1.xml"/></Relationships>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<wetp:taskpanes xmlns:wetp="http://schemas.microsoft.com/office/webextensions/taskpanes/2010/11"><wetp:taskpane dockstate="right" visibility="0" width="350" row="0"><wetp:webextensionref xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId1"/></wetp:taskpane></wetp:taskpanes>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<we:webextension xmlns:we="http://schemas.microsoft.com/office/webextensions/webextension/2010/11" id="{15F2566F-E932-2845-B9EA-3A570D2CAF7E}"><we:reference id="7f33b723-fb58-4524-8733-dbedc4b7c095" version="1.0.0.0" store="developer" storeType="Registry"/><we:alternateReferences/><we:properties/><we:bindings/><we:snapshot xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"/></we:webextension>

792
test.json
View File

@ -1,792 +0,0 @@
{
"contentType": {
"types": {
"/_rels/.rels": "application/vnd.openxmlformats-package.relationships+xml",
"/docProps/app.xml": "application/vnd.openxmlformats-officedocument.extended-properties+xml",
"/docProps/core.xml": "application/vnd.openxmlformats-package.core-properties+xml",
"/word/_rels/document.xml.rels": "application/vnd.openxmlformats-package.relationships+xml",
"/word/comments.xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml",
"/word/commentsExtended.xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.commentsExtended+xml",
"/word/document.xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml",
"/word/fontTable.xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml",
"/word/header1.xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml",
"/word/numbering.xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml",
"/word/settings.xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml",
"/word/styles.xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"
}
},
"rels": {
"rels": [
[
"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",
"rId1",
"docProps/core.xml"
],
[
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",
"rId2",
"docProps/app.xml"
],
[
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",
"rId3",
"word/document.xml"
]
]
},
"documentRels": {
"hasComments": false,
"hasNumberings": false,
"imageIds": []
},
"docProps": {
"app": {},
"core": {
"config": {
"created": null,
"creator": null,
"description": null,
"language": null,
"lastModifiedBy": null,
"modified": null,
"revision": null,
"subject": null,
"title": null
}
}
},
"styles": {
"docDefaults": {
"runPropertyDefault": {
"runProperty": {
"sz": 21,
"szCs": 21,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": null
}
}
},
"styles": [
{
"styleId": "a",
"name": "Normal",
"styleType": "paragraph",
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": null
},
"paragraphProperty": {
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": null
},
"style": null,
"numberingProperty": null,
"alignment": "both",
"indent": null,
"lineHeight": null
},
"tableProperty": {
"width": {
"width": 0,
"widthType": "Auto"
},
"justification": "left",
"borders": {
"top": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "top",
"space": 0
},
"left": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "left",
"space": 0
},
"bottom": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "bottom",
"space": 0
},
"right": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "right",
"space": 0
},
"insideH": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "insideH",
"space": 0
},
"insideV": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "insideV",
"space": 0
}
},
"margins": {
"top": 55,
"left": 54,
"bottom": 55,
"right": 55
},
"indent": null,
"style": null,
"layout": null
},
"basedOn": null
},
{
"styleId": "a0",
"name": "Default Paragraph Font",
"styleType": "character",
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": null
},
"paragraphProperty": {
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": null
},
"style": null,
"numberingProperty": null,
"alignment": null,
"indent": null,
"lineHeight": null
},
"tableProperty": {
"width": {
"width": 0,
"widthType": "Auto"
},
"justification": "left",
"borders": {
"top": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "top",
"space": 0
},
"left": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "left",
"space": 0
},
"bottom": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "bottom",
"space": 0
},
"right": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "right",
"space": 0
},
"insideH": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "insideH",
"space": 0
},
"insideV": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "insideV",
"space": 0
}
},
"margins": {
"top": 55,
"left": 54,
"bottom": 55,
"right": 55
},
"indent": null,
"style": null,
"layout": null
},
"basedOn": null
},
{
"styleId": "a1",
"name": "Normal Table",
"styleType": "table",
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": null
},
"paragraphProperty": {
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": null
},
"style": null,
"numberingProperty": null,
"alignment": null,
"indent": null,
"lineHeight": null
},
"tableProperty": {
"width": {
"width": 0,
"widthType": "Auto"
},
"justification": "left",
"borders": {
"top": null,
"left": null,
"bottom": null,
"right": null,
"insideH": null,
"insideV": null
},
"margins": {
"top": 55,
"left": 54,
"bottom": 55,
"right": 55
},
"indent": null,
"style": null,
"layout": null
},
"basedOn": null
},
{
"styleId": "a2",
"name": "No List",
"styleType": "numbering",
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": null
},
"paragraphProperty": {
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": null
},
"style": null,
"numberingProperty": null,
"alignment": null,
"indent": null,
"lineHeight": null
},
"tableProperty": {
"width": {
"width": 0,
"widthType": "Auto"
},
"justification": "left",
"borders": {
"top": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "top",
"space": 0
},
"left": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "left",
"space": 0
},
"bottom": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "bottom",
"space": 0
},
"right": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "right",
"space": 0
},
"insideH": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "insideH",
"space": 0
},
"insideV": {
"borderType": "single",
"size": 2,
"color": "000000",
"position": "insideV",
"space": 0
}
},
"margins": {
"top": 55,
"left": 54,
"bottom": 55,
"right": 55
},
"indent": null,
"style": null,
"layout": null
},
"basedOn": null
}
]
},
"document": {
"children": [
{
"type": "paragraph",
"data": {
"id": "5064973E",
"children": [
{
"type": "run",
"data": {
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": {
"borderType": "single",
"size": 4,
"color": "auto",
"space": 0
}
},
"children": [
{
"type": "text",
"data": {
"preserveSpace": true,
"text": "H"
}
}
]
}
},
{
"type": "run",
"data": {
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": {
"borderType": "single",
"size": 4,
"color": "auto",
"space": 0
}
},
"children": [
{
"type": "text",
"data": {
"preserveSpace": true,
"text": "ello"
}
}
]
}
},
{
"type": "run",
"data": {
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": null
},
"children": [
{
"type": "text",
"data": {
"preserveSpace": true,
"text": " "
}
}
]
}
},
{
"type": "run",
"data": {
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": true,
"boldCs": true,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": null
},
"children": [
{
"type": "text",
"data": {
"preserveSpace": true,
"text": "W"
}
}
]
}
},
{
"type": "run",
"data": {
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": true,
"boldCs": true,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": {
"borderType": "single",
"size": 4,
"color": "auto",
"space": 0
}
},
"children": [
{
"type": "text",
"data": {
"preserveSpace": true,
"text": "o"
}
}
]
}
},
{
"type": "run",
"data": {
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": {
"borderType": "single",
"size": 4,
"color": "auto",
"space": 0
}
},
"children": [
{
"type": "text",
"data": {
"preserveSpace": true,
"text": "rl"
}
}
]
}
},
{
"type": "run",
"data": {
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": null
},
"children": [
{
"type": "text",
"data": {
"preserveSpace": true,
"text": "d!!!"
}
}
]
}
},
{
"type": "run",
"data": {
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": null
},
"children": [
{
"type": "text",
"data": {
"preserveSpace": true,
"text": "===="
}
}
]
}
}
],
"property": {
"runProperty": {
"sz": null,
"szCs": null,
"color": null,
"highlight": null,
"underline": null,
"bold": null,
"boldCs": null,
"italic": null,
"italicCs": null,
"vanish": null,
"spacing": null,
"fonts": null,
"textBorder": null
},
"style": null,
"numberingProperty": null,
"alignment": null,
"indent": null,
"lineHeight": null
},
"hasNumbering": false
}
}
],
"sectionProperty": {
"pageSize": {
"w": 11900,
"h": 16840
},
"pageMargin": {
"top": 1985,
"left": 1701,
"bottom": 1701,
"right": 1701,
"header": 851,
"footer": 992,
"gutter": 0
},
"columns": 425,
"docGrid": {
"gridType": "lines",
"linePitch": 360,
"charSpace": null
},
"headerReference": {
"headerType": "default",
"id": "rId4"
},
"sectionType": null
},
"hasNumbering": false
},
"comments": {
"comments": []
},
"numberings": {
"abstractNums": [],
"numberings": []
},
"settings": {
"defaultTabStop": 709,
"zoom": 100,
"docId": "8E2D3E4C-6723-BC4B-A914-75D1ABCB0821",
"docVars": []
},
"fontTable": {},
"media": [],
"header": {
"children": []
},
"commentsExtended": {
"children": []
}
}