Start with the approach which minimises hassle to people who want to pay. Handle piracy by making cracked versions unnecessary (hardship - contact me for the extension for free). If lots of money is being lost to piracy, and the reduction of sales by introducing anti-piracy measures didn't outweigh it, consider using encryption/internet checking/registration processes antipiracy.
People just select the price to pay and click buy now at http://localhost/SOFA/website/get_extensions.php. Or email me for a free version because of hardship. Let them know it may take up to 48 hours to send the extension (although typically much quicker).
A painless anti-piracy measure (more for detection that prevention) I can use from the start is to tag extension modules with a string which can be decrypted by me to identify the person it was originally supplied to.
Tell hardship users they can help support the project by voting for it (Like it/Google+ it/Sourceforge/Freecode), or otherwise spreading the word (including tweeting, blogging, word of mouth).
A module is supported for 1 year from purchase (although it may well keep working for longer if the code hasn't fallen out of date).
Notes
Wkhtmltopdf - Packaged for Ubuntu and cross-platform. An active projects but some tricky bugs too: Problems with space between characters
ImageMagick - Packaged for Ubuntu and cross-platform.
PythonMagick - http://www.imagemagick.org/download/python/
User suggestion (Marek Paweł Karczewski marek_karczewski@yahoo.com.au): Maybe you could make an option: “Export charts to separate files” and “Export tables to separate files”. Then save each table or file to a separate file, preferably in pdf format. For instance me; I have written a thesis in latex, using lyx. I needed to show a couple of charts. Lyx likes the input format of graphics to be PDF.
NB enable images saved to be in high resolution for publishing purposes.
Also be aware of alternatives:
Gael Varoquaux (core developer for Mayavi2) has developed a very helpful ad-hoc implementation of “pyreport”.
pyreport is a program that runs a python script and captures its output, compiling it to a pretty report in a pdf or an html file. It can display the output embedded in the code that produced it and can process special comments (literate comments) according to markup languages (rst or LaTeX) to compile a very readable document.
It can also embed pretty plots from captured matplotlib output within the compiled document. Really, quite neat:
Add 4 buttons - Load, Save, Save Batch, Run Batch.
The SQL is easy enough - it is the interface that would require the work.
It would be good to be able to export the output to a Word and Open Office file.
Ability to push output to the cloud and email someone a link.
Daniel Myall may be able to advise
daniel.myall@vanderveer.org.nz
Apparently not as easy as it may seem
The ability to export data to spreadsheets and other statistics applications.
Perhaps export as HTML tables which Excel can read native just fine. Or CSV. The main Excel writing library doesn't support Python 2.7 or 3+. http://pypi.python.org/pypi/xlwt
HTML as Excel best - open fine in Open Office as well as Excel and can handle all the things that CSV will have problems with.
Automatic prompting to backup default data on exit (date-time stamped)