Crate ole [−] [src]
A simple parser and reader for Microsoft Compound Document File.
This includes a basic parser, which validates the format of a given file or a given stream. It includes a reader too, for iterating over entries and for extracting files inside the OLE storage.
Example
use ole::Reader; use std::io::{Read, Write}; let mut file = std::fs::File::open("assets/Thumbs.db").unwrap(); let mut parser = Reader::new(file).unwrap(); // Iterate through the entries for entry in parser.iterate() { println!("{}", entry); } // We're going to extract a file from the OLE storage let entry = parser.iterate().next().unwrap(); let mut slice = parser.get_entry_slice(entry).unwrap(); let mut buffer = std::vec::Vec::<u8>::with_capacity(slice.len()); slice.read_to_end(&mut buffer); // Saves the extracted file let mut extracted_file = std::fs::File::create("./file.bin").unwrap(); extracted_file.write_all(&buffer[..]);
Compatibility
The ole
crate is tested for rust 1.9 or greater.
Structs
Entry |
An entry in an OLE file. |
EntrySlice |
Slice of the content of the entry. |
OLEIterator |
Iterator for entries inside an OLE file. |
Reader |
An OLE file reader. |
Enums
EntryType | |
Error |
Errors related to the process of parsing. |