Menu

Home

alonso laurent

librvngabw Library

libvrngabw is a AbiWord v3 export library using librevenge.

Developers

Getting the sources

librvngabw sources are stored in git. To get them, you can use:

git clone git://git.code.sf.net/p/librvngabw/code

or you can browse the code online.

If you want to use release version you can fetch it from the download page.

Building it

Dependencies

You will need these applications and libraries in order to compile librvngabw:

librevenge
doxygen # optional for documentation building (--with-docs)

Once the source has been checked out, librvngabw can be built in usual manner:

./autogen.sh # only needed if building from git
./configure
make
make install

Finally, if you want also to create ABW documents, you need:

  • writerperfect (git clone git://git.code.sf.net/p/libwpd/writerperfect)

Contributing

Once you have done a change that you are happy with, and that builds with librvngabw, contribute it back, we'll be happy to integrate it! All you need to do is to send us a patch. The followning commands will commit the changes to your local repository and create one or more patch files. You can send these as a ticket( https://sourceforge.net/p/librvngabw/tickets/ ).

git commit -a
git format-patch origin/master

API

librvngabw::ABWTextGenerator: the main class to create a AbiWord document ; it inherits of librevenge::RVNGTextInterface.
librvngabw::ABWSpreadsheetToTableGenerator: can be used to convert a embedded spreadsheet in a AbiWord's table ; it inherits of librevenge::RVNGSpreedsheetInterface and it is called via registerEmbeddedObjectHandler as in:

    // main collector
    librvngabw::ABWTextGenerator collector(&contentHandler);
    // register the spreadsheet to table convertor
    collector.registerEmbeddedObjectHandler("image/mwaw-ods", &handleEmbeddedSpreadsheetObject);
    // ...

    static bool handleEmbeddedSpreadsheetObject(const librevenge::RVNGBinaryData &data, 
                                                librvngabw::ABWGenerator &generator)
    {
        librvngabw::ABWSpreadsheetToTableGenerator exporter(generator);
        return MWAWDocument::decodeSpreadsheet(data, &exporter);
    }

Project Members:


MongoDB Logo MongoDB