Thank you so much Jose... you are so helpful.
I am going to try this. this is a requirement to launch this system I wrote 
with another programmer
there is more work to do, but this needs to work.
Thank you again!!
Regards,
On Thursday, January 17, 2013 1:13:21 AM UTC-6, José L. 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] <javascript:>>: 
> > 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