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. >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > -- >> >>> >> > >> >>> >> > >> >>> >> > >> >>> > >> >>> > -- >> >>> > >> >>> > >> >>> > >> >> >> >> -- >> >> >> >> >> >> >> > >> > -- >> > >> > >> > >> >> -- >> >> >> >> > -- > > > > --

