What is OpenMCDF ?
OpenMCDF is a 100% managed .net component that allows client applications to manipulate COM structured storage files, also known as Microsoft Compound Document Format files.
Ok, so what's 'structured storage' anyway ?
This file format is used under the hood by a lot of applications: the files created by Microsoft Office until the 2007 product release are all structured storage files. They include multiple streams of information (document summary, user data) in a single physical container (the file). Also the omnipresent Thumbs.db, used by Windows as thumbnails cache, is a structured storage file.
How does it work ?
OpenMCDF makes available to the developer an easy interface to read, write, add and remove structured storage primitives. Items are organized in a hierarchical tree where 'storage' nodes act like a directory and 'stream' nodes like a file. Developers can use OpenMCDF to view storages and streams, traverse hierarchical trees of items, explore existing compound file and modify them or create a new compound file from scratch.
...mmm yes, but I've already seen a lot of wrappers...
- OpenMCDF is NOT a wrapper component: it's 100% pure C#, nothing else.
- There are NO ActiveX, COM or P/Invoke dependencies
- OpenMCDF supports large files and Version 4 of Compound File Format
- Low memory footprint: incremental data updating and partial stream data reading
- Works on Mono platform out of the box
Well, can I try it ?
You can get OpenMCDF from Github or use NuGet to install it into your projects. OpenMCDF is MPL 2.0 licensed.