Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Generate PDF reports
#1
Hello,

I need to generate nice-looking pdf reports with charts and tables.
Right now i am looking at three different solutions, but can't figure out which is the most appropriate.


-1 Using Matplot lib to generate charts and then using PyLatex to generate pdf
-2 Using Plotly to generate charts and generating pdf reports (https://plot.ly/python/pdf-reports/#disp...ted-to-pdf)
-3 Using Jupyter notebook

So far, i understand how the solution number one works but it does not sounds like the perfect solution, latex is not made for reports i guess.
Solution 2 seems more appropriate, but this would require building an html page to generate a report.
I read about Jupyter notebook but i can't figure out if that is a good solution.

Any help? Additional solution would be very appreciated as well.

Thanks
Reply
#2
Hello,
I have not been making PDF reports in Python yet, but you might like ReportLab (link to website).

Mike Driscoll (Mouse vs. Python) has a blog post on it as well as recently released book.
There are also other blog posts regarding PDF creation (not necessarily with ReportLab) on Mike's blog. Some posts are old so make sure the module he is working with is still maintained.
Reply
#3
Thanks a lot!! ReportLab looks very interesting, it looks like it does a pretty good job.
However, for now i am looking for a free solution and ReportLab is not. I will look into the other link you gave.

If you happen to think at a free solution please tell me :)

Thanks
Reply
#4
ReportLab has both, commercial and free versions. The very first link in my previous post points you to ReportLab free open source version ;)
Reply
#5
I did little more research. There are actually two versions of the software: Report Lab open source and ReportLab Plus.
The first one, Report Lab Open Source seems to be completely free.

Yes thanks a lot!! You are right, the first link points to the free version!!

Thanks a lot for helping, python is amazing, making good reports would just be as amazing Smile Smile .
Reply
#6
I vote for latex (perhaps pylatex, which I don't know). It is much easier to master than reportlab, and also more flexible. You could perhaps use latex templates together with a template engine such as mako or jinja. Also have a look at doconce, I used it a lot to generate documents.
Reply
#7
You are welcome, I am glad I could be of help. And I hope you found the right tool for what you need! =)
Reply
#8
(Aug-26-2018, 01:07 PM)Gribouillis Wrote: I vote for latex (perhaps pylatex, which I don't know). It is much easier to master than reportlab, and also more flexible. You could perhaps use latex templates together with a template engine such as mako or jinja. Also have a look at doconce, I used it a lot to generate documents.

Thanks for helping. I will have a look at your solution as well, however, on a first look, it seems a bit complex.

Thanks
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Python best library for Excel reports & review of existing code MasterOfDestr 4 607 Feb-14-2024, 03:39 PM
Last Post: MasterOfDestr
  Help with Creating a Script for Automating Reports SunWers 1 1,914 Dec-29-2020, 10:21 PM
Last Post: jjc385
  Parsing Date/Time from Metar Reports with 6 hourly weather information Lawrence 0 2,328 May-03-2020, 08:15 PM
Last Post: Lawrence
  How do I generate reports in pdf format? okbeat9 2 3,264 Jan-13-2020, 04:38 AM
Last Post: okbeat9
  Python for Reports in HTML or PDF Format ImPyBoy17 1 3,099 Dec-10-2018, 09:35 PM
Last Post: j.crater
  UTF-8 decoder reports bad byte that is not there Skaperen 0 2,284 Oct-11-2018, 04:46 AM
Last Post: Skaperen
  Start checking for geology reports tjnichols 1 2,629 Jun-04-2018, 08:55 PM
Last Post: Larz60+
  Best software for creating printed reports? birdieman 5 4,417 Feb-02-2017, 02:39 AM
Last Post: birdieman
  Reports with Python? panoss 1 3,281 Jan-11-2017, 10:33 PM
Last Post: micseydel

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020