mine worked by copying to gluon/contrib/fpdf

and then in code:

from gluon.contrib.fpdf import PDFLabel



On Thu, Jan 17, 2013 at 10:42 AM, António Ramos <[email protected]>wrote:

> I still cannot import it in web2py shell by just copying pdflabels.py to
> gluon/contrib/pypdf
>
> can someone post a stupid example app?
>
> Thank you
> António
>
> 2013/1/17 Paul Rykiel <[email protected]>
>
>> I just want to say a big Thank you!
>> this works perfectly!!
>> I am so happy!
>> Best Regards,
>>
>> On Thu, Jan 17, 2013 at 1:49 AM, Mariano Reingart <[email protected]>wrote:
>>
>>> Sorry, the correct url for PDFLabels is currently:
>>>
>>> https://code.google.com/p/pyfpdf/source/browse/tools/pdflabels.py
>>>
>>> We did some cleanups and reorganization of the project folders
>>> structure to be more compatible with pep8, distutils, etc.
>>> For the next release, if you can confirm that PDFLabels is working
>>> with the new structure, it could be moved to fpdf folder (currently in
>>> tools) so it would be packaged with web2py.
>>>
>>> BTW, there has been some other enhancements and bugfixes to PyFPDF
>>> thanks to several contributors, if you find an issue, please grab a
>>> latest copy and take a look on the project site:
>>>
>>> https://code.google.com/p/pyfpdf/source/browse/
>>>
>>> (look for the download zip link)
>>>
>>> https://code.google.com/p/pyfpdf/issues/list
>>>
>>> ASAP we close a few more pending tickets, surely a new version of FPDF
>>> will be published.
>>>
>>> Best regards,
>>>
>>> Mariano Reingart
>>> http://www.sistemasagiles.com.ar
>>> http://reingart.blogspot.com
>>>
>>>
>>> On Thu, Jan 17, 2013 at 4:13 AM, José Luis Redrejo <[email protected]>
>>> wrote:
>>> > I've just checked pdflabel is not included in fpdf in web2py. I ignore
>>> > the reason because I uploaded it to pyfpdf 18 months ago. I thought
>>> > web2py automatically included pyfpdf updates. You can download it from
>>> > http://code.google.com/p/pyfpdf/source/browse/pdflabels.py and copy it
>>> > at gluon/contrib/fpdf directory so you can use:
>>> >
>>> > from gluon.contrib.fpdf.pdflabels import PDFLabel
>>> >
>>> > PDFLabel accepts "\n" , if you use cell, it doesn't understand "\n"
>>> >
>>> > Regards.
>>> >
>>> > 2013/1/16 Paul Rykiel <[email protected]>:
>>> >> Hi Jose,
>>> >>
>>> >> I tried what you suggested, I was getting errors on the line
>>> >> from glon.contrib.pyfpdf.pdflabels import PDFLabel ... it does not
>>> seem to
>>> >> exist, and cannot find how to load this
>>> >>
>>> >> so, my other option seems to be to get all of the text inside of one
>>> cell,
>>> >> so I used your "more_text" from below, it works ('sort of") ... it
>>> lists all
>>> >> of the text inside the one cell, but
>>> >> the program is ignoring the "\n" page breaks, if I can get those to
>>> work, I
>>> >> am almost done
>>> >>
>>> >> then I have to figure out how to create the pages side by side, but I
>>> want
>>> >> to tackle one thing at a time.
>>> >>
>>> >> I am sure when I get to my next issue of printing the labels where
>>> there are
>>> >> 3 labels across and 10 down, maybe I will have to figure out
>>> >> how to use the PDFLabel, but for right now I just want to get this to
>>> work.
>>> >>
>>> >> thanks for all of your help!!
>>> >> Regards,
>>> >>
>>> >>
>>> >> On Wednesday, January 16, 2013 12:46:34 PM UTC-6, José L. wrote:
>>> >>>
>>> >>> Some time ago, we include PDFLabel too, so you can simplify your code
>>> >>> if you are using an avery-compatible format ( the sys stuff is only
>>> >>> needed if you're using a non-english language):
>>> >>>
>>> >>> def label_bikes():
>>> >>>     from gluon.contrib.pyfpdf.pdflabels import PDFLabel
>>> >>>     import sys
>>> >>>     reload(sys)
>>> >>>     sys.setdefaultencoding( "latin-1" )
>>> >>>
>>> >>>     pdf = PDFLabel('Apli-01277')
>>> >>>     pdf.add_page()
>>> >>>     rows = db(db.bike.id.belongs(bikeIds)).select()
>>> >>>     # Print labels
>>> >>>     for row in rows:
>>> >>>         idString = row.destination + str(row.id)
>>> >>>         more_text = idString
>>> >>>         more_text += "Make:  " + row.make + "\n" if row.make else ""
>>> >>>         more_text += "Model:  " + row.model + "\n" if row.model else
>>> ""
>>> >>>         more_text += "Size:  " + row.size + "\n" if row.size else ""
>>> >>>         pdf.add_label(more_text)
>>> >>>
>>> >>>     response.headers['Content-Type'] = 'application/pdf'
>>> >>>     response.headers['Content-Disposition']='attachment.filename =
>>> >>> sample.pdf'
>>> >>>     return pdf.output(dest='S')
>>> >>>
>>> >>>
>>> >>> Regards
>>> >>> José L.
>>> >>>
>>> >>> 2013/1/16 Paul Rykiel <[email protected]>:
>>> >>> > Hi Mariano,
>>> >>> > thank you for the response. Let me look into the margin issue,
>>> maybe you
>>> >>> > have given me enough to figure this out.
>>> >>> > thanks so much for the response. you know, Massimo was my
>>> professor last
>>> >>> > term.
>>> >>> >
>>> >>> > On Wednesday, January 16, 2013 12:39:06 AM UTC-6, Mariano Reingart
>>> >>> > wrote:
>>> >>> >>
>>> >>> >> Hello Paul:
>>> >>> >>
>>> >>> >> Could you send a sample without actual data?
>>> >>> >> (without the db query, so it can be reproduced)
>>> >>> >>
>>> >>> >> fpdf.cell will jump to the next page if no more room available,
>>> maybe
>>> >>> >> there is a sizing or rounding issue.
>>> >>> >> Also, you have to take a look at page margins.
>>> >>> >>
>>> >>> >> Best regards,
>>> >>> >>
>>> >>> >> Mariano Reingart
>>> >>> >> http://www.sistemasagiles.com.ar
>>> >>> >> http://reingart.blogspot.com
>>> >>> >>
>>> >>> >>
>>> >>> >> On Tue, Jan 15, 2013 at 8:02 PM, Paul Rykiel <[email protected]>
>>> wrote:
>>> >>> >> > Greetings this is my code:
>>> >>> >> >
>>> >>> >> > def triagePrintTags(bikeIds):
>>> >>> >> >     assert(bikeIds != None)
>>> >>> >> >     assert(isinstance(bikeIds, list) or isinstance(bikeIds,
>>> tuple))
>>> >>> >> >     pdf = FPDF('P', 'mm', (66.548, 25.4))
>>> >>> >> >     # get all the r(ows
>>> >>> >> >     rows = db(db.bike.id.belongs(bikeIds)).select()
>>> >>> >> >     for row in rows:
>>> >>> >> >         pdf.add_page()
>>> >>> >> >         pdf.set_font('Times', 'B', 8)
>>> >>> >> >         idString = row.destination + str(row.id)
>>> >>> >> >         pdf.cell(0, 2, idString, 0, 1)
>>> >>> >> >         if row.make != None:
>>> >>> >> >             pdf.cell(0, 2, "Make:  " + row.make,0,1)
>>> >>> >> >         if row.model != None:
>>> >>> >> >             pdf.cell(0, 2, "Model:  " + row.model,0,1)
>>> >>> >> >         if row.size != 0:
>>> >>> >> >             sz = "Size:  " + str(row.size)
>>> >>> >> >             pdf.cell(0, 2, sz,0,1)
>>> >>> >> >         if row.color != None:
>>> >>> >> >             pdf.cell(0, 2, "Color:  " + row.color,0,1)
>>> >>> >> >     # TODO this should be a true temp file, stored in /tmp with
>>> >>> >> > random
>>> >>> >> > unique filename.
>>> >>> >> >     fileName = request.folder + '/static/temp.pdf'
>>> >>> >> >     pdf.output(name=fileName)
>>> >>> >> >
>>> response.headers['Content-Disposition']='attachment.filename =
>>> >>> >> > sample.pdf'
>>> >>> >> >     response.headers['Content-Type']='application/pdf'
>>> >>> >> >     return response.stream(open(fileName, 'rb'),
>>> chunk_size=4096)
>>> >>> >> >
>>> >>> >> > the problem with the above code is:
>>> >>> >> >
>>> >>> >> > my dimentions of my page are supposed to simulate a label (no
>>> >>> >> > problem)
>>> >>> >> > my text should all be on the same label, but when the next cell
>>> >>> >> > prints,
>>> >>> >> > it
>>> >>> >> > jumps to the
>>> >>> >> > next label. What am I doing incorrectly here?
>>> >>> >> >
>>> >>> >> > Or maybe is it is just wrong print with pdf.cell, maybe there
>>> is a
>>> >>> >> > better
>>> >>> >> > way.
>>> >>> >> > Please help if you can?
>>> >>> >> >
>>> >>> >> > Thank you in advance.
>>> >>> >> >
>>> >>> >> >
>>> >>> >> >
>>> >>> >> >
>>> >>> >> >
>>> >>> >> > --
>>> >>> >> >
>>> >>> >> >
>>> >>> >> >
>>> >>> >
>>> >>> > --
>>> >>> >
>>> >>> >
>>> >>> >
>>> >>
>>> >> --
>>> >>
>>> >>
>>> >>
>>> >
>>> > --
>>> >
>>> >
>>> >
>>>
>>> --
>>>
>>>
>>>
>>>
>>  --
>>
>>
>>
>>
>
>  --
>
>
>
>

-- 



Reply via email to