[Libreoffice] [GSoc] Progress report - Visio import filter

Fridrich Strba fridrich.strba at graduateinstitute.ch
Mon May 16 08:03:41 PDT 2011


On Sun, 2011-05-08 at 17:08 +0100, Tibby Lickle wrote:
> 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) 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).

Way too cool!

> 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.

Now, what I would really love is if we could put some anchor in some git
space so that I could create for you a quick skeleton of a library and
the build system so that you would only do the fleshing out. Just create
an empty module "libvisio" somewhere (I checked and libvsd exists
already for some virtual server daemon). I will create a skeleton there
and we can work easily.

A week or two ago, I refactored the writerperfect module in libreoffice
tree so that it might be +/- trivial to add the support.
> 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.
Hope everything went well.


More information about the LibreOffice mailing list