[reportlab-users] ReportLab and Django Examples

Andy Robinson andy at reportlab.com
Tue Nov 27 13:33:47 EST 2018


Hi Mike,

Under Python 3, you need to use the BytesIO class, since PDF is a
binary format.   Since we're writing file-like data, StringIO is no
longer appropriate.  This works....

    import io
    buf = io.BytesIO()
    rml2pdf.go(rml, outputFileName=buf)

    # to retrieve the data...
    buf.seek(0)
    rawdata = buf.read() .  # gives you back the bytes

I'll try to create a full minimal Django example in the next day or so
and update the manual...
On Mon, 26 Nov 2018 at 20:56, Mike Hostetler <mike at squarepegsystems.com> wrote:
>
> I got something that works...
>
>    fp,fname = tempfile.mkstemp()
>    rml2pdf.go(rml,outputFileName=fname)
>    buf = open(fname,encoding = "ISO-8859-1")
>
> But I don't like creating the tempfile. I think rml2pdf.go should take a StringIO
>
> On Mon, Nov 26, 2018 at 2:13 PM Andy Robinson <andy at reportlab.com> wrote:
>>
>> On Mon, 26 Nov 2018 at 19:43, Mike Hostetler <mike at squarepegsystems.com> wrote:
>> >
>> > I knew it waa old but that was all you had...
>> > I'm using Python 3.6.6 and Django 2.1.3.
>>
>> Sorry, we'd never spotted it before, as all of our customer projects
>> are on 2.7.  I'll try to get a corrected snippet out tomorrow..
>> _______________________________________________
>> reportlab-users mailing list
>> reportlab-users at lists2.reportlab.com
>> https://pairlist2.pair.net/mailman/listinfo/reportlab-users
>
>
>
> --
> Mike Hostetler
> SquarePeg Systems
> http://www.squarepegsystems.com
> _______________________________________________
> reportlab-users mailing list
> reportlab-users at lists2.reportlab.com
> https://pairlist2.pair.net/mailman/listinfo/reportlab-users



-- 
Andy Robinson
Managing Director, ReportLab
Wimbletech Zone 2
35 Wimbledon Hill Road
London SW19 7NB, UK
Tel +44-20-8191-7277


More information about the reportlab-users mailing list