libvrngabw is a AbiWord v3 export library using librevenge.
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.
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:
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
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);
}