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

Tibby Lickle tibbylickle at gmail.com
Sun May 8 09:08:20 PDT 2011


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20110508/fa15fecb/attachment.htm>


More information about the LibreOffice mailing list