Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.