Hi, Just an update on where I am. So far I've been working on the basics of extracting the data from the .vsd file. To read Visio files, the steps are roughly: 1. Get the interesting part ("VisioDocument") from the OLE container. 2. Parse the header to get a pointer to the trailer stream (as well as version, length of file, etc.) 3. Inflate compressed trailer. 4. Parse out pointers in trailer to the various - potentially compressed - streams that hold the actual Visio document content.
I've done 1 - 3. I'm using the WPXStream and its implementation from libwpd (WPXStreamImplementation.h here<http://libwpd.git.sourceforge.net/git/gitweb.cgi?p=libwpd/libwpd;a=blob;f=src/lib/WPXStreamImplementation.h;h=804453d910f537ffcf985a74ef34d6f25329d213;hb=HEAD>) to read/extract OLE streams. The implementation of LZW-esque decompression of the trailer is translated from Python to C++ (i.e. shamelessly ripped off) from oletoy (thanks frob). I suspect most of what I'll be doing will be stand-alone for now - developing and debugging will be too slow if LO integration is included at this early stage. Once I've got a very basic parser, the callback interface discussed in my proposal will be implemented and integration with LO should in theory be relatively easy. Note to my mentor -- I've got a paper due for next Saturday so my main focus will be on that. I will, however, be spending some time on the next stage. Eilidh
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice