Thanks to visit codestin.com
Credit goes to lib.rs

#document #parser #parser-and-reader #validation #compound

ole

Simple parser and reader for Microsoft Compound Document File

16 releases

Uses old Rust 2015

0.1.15 Mar 23, 2018
0.1.14 Mar 21, 2018

#2 in #ole

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

171 downloads per month
Used in 4 crates (3 directly)

WTFPL license

595KB
838 lines

OLE

Crates.io Crates.io license

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.

Usage

Add this to your Cargo.toml:

[dependencies]
ole = "0.1.15"

and this to your crate root:

extern crate ole;

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[..]);

Releases

Release notes are available in RELEASES.md.

Compatibility

ole seems to work for rust 1.9 and greater.

License

http://www.wtfpl.net/about/

No runtime deps