| 1 | [[TOC]] |
| 2 | = !BluePrint: PDF Generation = |
| 3 | |
| 4 | === PDF === |
| 5 | For more formal reports (which can also be retrieved via webservices using the PDF representation of the REST Controller), we currently use [http://reportlab.org ReportLab]. This also supports Graphics (via [http://www.pythonware.com/products/pil/ PIL]) |
| 6 | |
| 7 | 10:44:51 lifeeth: I used raw reportlab to make the OCR forms :| |
| 8 | http://logs.qgis.org/sahana/%23sahana.2010-01-15.log |
| 9 | |
| 10 | |
| 11 | How to set up a new PDF file |
| 12 | You need to edit your pdf-defs.tcl file to include the new type in pdf_generate_pdf. Also create a new pdf-xxx.py Python file, and set it up as you like it. That's basically it. |
| 13 | |
| 14 | |
| 15 | http://www.reportlab.com/software/opensource/ |
| 16 | |
| 17 | http://www.reportlab.com/software/opensource/rl-toolkit/ |
| 18 | open source version |
| 19 | |
| 20 | |
| 21 | [wiki:Haiti] |
| 22 | == Haiti PDF == |
| 23 | |
| 24 | flavour coordinating |
| 25 | |
| 26 | * Fix the base PDF generation in {{{models/01_RESTlike_controller.py}}}'s {{{export_pdf()}}} as they currently look awful (& hence aren't exposed to users by hiding it in {{{views/formats.html}}})! |
| 27 | * /module/resource.pdf |
| 28 | * Provide a Filter option exposed to users so they can print just the Contacts for a particular Organisation |
| 29 | * Ideally a generic routine, but then a [wiki:RESTController#Options custom one can be added] via {{{response.s3.formats.pdf}}} variable being set in the Controller before invoking the {{{shn_rest_controller()}}} to make it really pretty |
| 30 | |
| 31 | See: |
| 32 | * https://bugs.launchpad.net/sahana/+bug/508654 |
| 33 | * "generate a contact list for specific orgs as a PDF" |
| 34 | * [wiki:BluePrint/Reporting Data Analysis, Visualisation and Reporting] |
| 35 | * We currently use Geraldo for PDF creation, but it has issues, so we should consider either switching to Pisa or dropping down to raw ReportLab (with our own custom classes on top). |
| 36 | * We do this already for the OCR PDF generation. |
| 37 | |
| 38 | NB We're currently having [http://pastebin.com/d3ac2aad1 problems] getting Geraldo (0.3.6 & 0.3.9) working on Prod Debian server at all, so test offline on your own instance for now...works fine on my local Win32 |
| 39 | |
| 40 | ---- |
| 41 | [wiki:Haiti] |
| 42 | |
| 43 | |
| 44 | |
| 45 | |
| 46 | |
| 47 | |
| 48 | |
| 49 | |
| 50 | |
| 51 | |
| 52 | |
| 53 | |
| 54 | |
| 55 | |
| 56 | |
| 57 | == Introduction == |
| 58 | <Introduce the problem the solution is meant for> |
| 59 | <Explain why this could be relevant for Eden> |
| 60 | |
| 61 | == Description == |
| 62 | <Briefly describe the solution, e.g. start with a user story> |
| 63 | <Name existing solutions, e.g. in other applications> |
| 64 | |
| 65 | == Requirements == |
| 66 | <Outline the requirements here> |
| 67 | <Group requirements in subsections, e.g. functional, non-functional, interoperability etc.> |
| 68 | |
| 69 | == Use-Cases == |
| 70 | <Describe actors and use-cases> |
| 71 | <Describe workflows> |
| 72 | <Include diagrams where useful> |
| 73 | |
| 74 | == Design == |
| 75 | <Describe a possible design, repeat any design sections for alternative designs> |
| 76 | <Include diagrams, screen mockups and wireframes where useful> |
| 77 | |
| 78 | == Implementation == |
| 79 | <Leave open for a list of implementation> |
| 80 | |
| 81 | == References == |
| 82 | <Links to external resources> |
| 83 | |
| 84 | ---- |
| 85 | BluePrints |