Plugin Architecture

Scribus can be extended and automated using C++ plugins. Plugins are dynamic loaded libraries in "so" format.

An introduction to writing Scribus plugins is available here: BAD INTERNAL LINK http://docs.scribus.net/index.php?lang=en&sm=pluginhowto&page=plugin_howto ([wayback machine link http://web.archive.org/web/20080809121430/http://docs.scribus.net/index.php?lang=en&sm=pluginhowto&page=plugin_howto]). At present (3 Feb '05) there's not a lot of documentation available for the object model. It's said to be in Doxygen format in the source code, although I can't find it.

There is also a separate api for formatted text importer plugins. More information on this can be found from here: BAD INTERNAL LINK http://docs.scribus.net/index.php?lang=en&sm=gettexthowto&page=gettexthowto ([wayback machine link http://web.archive.org/web/20100506001054/http://docs.scribus.net/index.php?lang=en&sm=gettexthowto&page=gettexthowto])

Scribus also provides a Python Scripter API, which is generally easier to use, more mature and better documented than the C++ API. The internal C++ API is often updated and is not compatible release-to-release. Work on a public C++ API that's simpler, more stable, easier to use, and exposes more functionality for scripting languages is being considered.