Skip to main content

dump_doc_meta/
dump_doc_meta.rs

1fn main() {
2    let path = std::env::args().nth(1).expect("path");
3    let bytes = std::fs::read(&path).expect("read");
4    let pkg = if path.ends_with(".doc") {
5        extend_docx::parse_document_bytes(&bytes).expect("parse")
6    } else {
7        extend_docx::parse_docx(&bytes).expect("parse_docx")
8    };
9    let model = extend_docx::build_doc_model(&pkg);
10    println!("parts: {}", pkg.parts.len());
11    println!("binary assets: {:?}", pkg.binary_assets.keys().collect::<Vec<_>>());
12    println!("headers: {}", model.metadata.header_sections.len());
13    println!("footers: {}", model.metadata.footer_sections.len());
14    println!("numbering: {}", model.metadata.numbering_definitions.is_some());
15    println!("footnotes: {:?}", model.metadata.footnotes.as_ref().map(|n| n.len()));
16    for h in &model.metadata.header_sections {
17        println!("  header {} type={:?} nodes={}", h.part_name, h.reference_type, h.nodes.len());
18    }
19    println!("warnings: {:?}", &model.metadata.warnings);
20}