def colorsRGB(canvas): from reportlab.lib import colors from reportlab.lib.units import inch black = colors.black y = x = 0; dy=inch*3/4.0; dx=inch*5.5/5; w=h=dy/2; rdx=(dx-w)/2 rdy=h/5.0; texty=h+2*rdy canvas.setFont("Helvetica",10) for [namedcolor, name] in ( [colors.lavenderblush, "lavenderblush"], [colors.lawngreen, "lawngreen"], [colors.lemonchiffon, "lemonchiffon"], [colors.lightblue, "lightblue"], [colors.lightcoral, "lightcoral"]): canvas.setFillColor(namedcolor) canvas.rect(x+rdx, y+rdy, w, h, fill=1) canvas.setFillColor(black) canvas.drawCentredString(x+dx/2, y+texty, name) x = x+dx y = y + dy; x = 0 for rgb in [(1,0,0), (0,1,0), (0,0,1), (0.5,0.3,0.1), (0.4,0.5,0.3)]: r,g,b = rgb canvas.setFillColorRGB(r,g,b) canvas.rect(x+rdx, y+rdy, w, h, fill=1) canvas.setFillColor(black) canvas.drawCentredString(x+dx/2, y+texty, "r%s g%s b%s"%rgb) x = x+dx y = y + dy; x = 0 for gray in (0.0, 0.25, 0.50, 0.75, 1.0): canvas.setFillGray(gray) canvas.rect(x+rdx, y+rdy, w, h, fill=1) canvas.setFillColor(black) canvas.drawCentredString(x+dx/2, y+texty, "gray: %s"%gray) x = x+dx
def encabezado(canvas, doc): canvas.saveState() canvas.setFont('Times-Roman', 9) canvas.drawImage(this_path + '/static/images/aok/logo.png', inch, A4[1] - 90, 55, 60, mask='auto') # imagen logo canvas.setStrokeColorRGB(121 / 256, 128 / 256, 129 / 256) # choose your line color canvas.line(133, A4[1] - 90, 133, A4[1] - 45) # linea canvas.setFont('Helvetica', 12) canvas.setFillGray(0.3) canvas.drawString(140, A4[1] - 64, 'Universidad') canvas.setFont('Helvetica-Bold', 14) canvas.drawString(140, A4[1] - 79, 'Técnica Estatal de Quevedo') canvas.setFont('Helvetica-Bold', 8) canvas.drawString(140, A4[1] - 90, 'La primera Universidad Agropecuaria del País') canvas.setFillColorRGB(250 / 256, 210 / 256, 1 / 256) canvas.setStrokeColorRGB(250 / 256, 210 / 256, 1 / 256) canvas.rect(50, 742, 500, 3, fill=1) canvas.setFillColorRGB(76 / 256, 145 / 256, 65 / 256) canvas.setStrokeColorRGB(76 / 256, 145 / 256, 65 / 256) canvas.rect(50, 742, 500, 1, fill=1) canvas.restoreState()
def draw_page(canvas, doc): """Method to format my pdfs.""" title = "CPIMS" author = "CPIMS" canvas.setTitle(title) canvas.setSubject(title) canvas.setAuthor(author) canvas.setCreator(author) # footer = [] # Put some data into the footer # Frame(2 * cm, 0, 17 * cm, 4 * cm).addFromList(footer, canvas) canvas.saveState() # Header canvas.drawString(0.5 * inch, 8 * inch, doc.fund_name) canvas.drawRightString(10.5 * inch, 8 * inch, doc.report_info) # Footers canvas.setFont("Helvetica", 8) canvas.drawString(0.5 * inch, 0.5 * inch, '') canvas.drawRightString( 11.2 * inch, 0.38 * inch, 'Source : %s' % (doc.source)) canvas.setFont("Helvetica", 240) # self.setFont("Helvetica", 8) canvas.setStrokeGray(0.90) canvas.setFillGray(0.90) # canvas.rotate(45) canvas.restoreState()
def AllPageSetup(canvas, doc): canvas.saveState() #header canvas.drawString(0.5 * inch, 8 * inch, doc.fund.name) canvas.drawRightString(10.5 * inch, 8 * inch, doc.report_info) #footers canvas.drawString(0.5 * inch, 0.5 * inch, 'Larry Co.') canvas.drawRightString(10.5 * inch, 0.5 * inch, 'Page %d' % (doc.page)) canvas.setFont("Arial", 240) canvas.setStrokeGray(0.90) canvas.setFillGray(0.90) canvas.drawCentredString(5.5 * inch, 3.25 * inch, doc.watermark) canvas.restoreState()
def footer(canvas, DOC): """Draws the page footer""" arcpy.AddMessage("Drawing Footer...") canvas.saveState() canvas.setFont("Vera", 7.5) text = MAPHEADERTEXT date_now = datetime.datetime.now() date_formatted = (str(time.strftime("%b")) + " " + str(date_now.day) + ", " + str(date_now.year)) canvas.drawRightString(DOC.width - (DOC.rightMargin-2.35*inch), 0.5*DOC.bottomMargin, date_formatted) canvas.setFillGray(0.70) canvas.drawString(DOC.leftMargin - 25, 0.5*DOC.bottomMargin, text) canvas.setLineWidth(2) canvas.setStrokeColor(Color(0, 0.2627450980392157, 0.42745098039215684, 1)) pagex = 47.5 pagey = 0.75*DOC.bottomMargin canvas.line(pagex, pagey, (PAGE_WIDTH - pagex), pagey) canvas.restoreState()
def footer(canvas, DOC): """Draws the page footer""" arcpy.AddMessage("Drawing Footer...") canvas.saveState() canvas.setFont("Vera", 7.5) text = MAPHEADERTEXT date_now = datetime.datetime.now() date_formatted = (str(time.strftime("%b")) + " " + str(date_now.day) + ", " + str(date_now.year)) canvas.drawRightString(DOC.width - (DOC.rightMargin - 2.35 * inch), 0.5 * DOC.bottomMargin, date_formatted) canvas.setFillGray(0.70) canvas.drawString(DOC.leftMargin - 25, 0.5 * DOC.bottomMargin, text) canvas.setLineWidth(2) canvas.setStrokeColor(Color(0, 0.2627450980392157, 0.42745098039215684, 1)) pagex = 47.5 pagey = 0.75 * DOC.bottomMargin canvas.line(pagex, pagey, (PAGE_WIDTH - pagex), pagey) canvas.restoreState()
def piePagina(canvas, doc): canvas.saveState() canvas.setFillGray(0.3) canvas.setFont('Helvetica-Bold', 6) width = doc.width texto1 = 'Campus "Ingeniero Manuel Agustín Haz Álvarez", Av. Quito km. 1 1/2 vía a Santo Domingo de los Tsáchilas' texto2 = 'Tel: (593) 5370-2220 - [email protected] - www.uteq.edu.ec' texto3 = 'QUEVEDO - LOS RÍOS - ECUADOR' tam1 = stringWidth(texto1, 'Helvetica-Bold', 6) tam2 = stringWidth(texto2, 'Helvetica-Bold', 6) tam3 = stringWidth(texto3, 'Helvetica-Bold', 6) canvas.drawString((width - tam1) + 110, 0.7 * inch, texto1) canvas.drawString((width - tam2) + 110, 0.6 * inch, texto2) canvas.drawString((width - tam3) + 110, 0.5 * inch, texto3) canvas.setFillColorRGB(250 / 256, 210 / 256, 1 / 256) canvas.setStrokeColorRGB(250 / 256, 210 / 256, 1 / 256) canvas.rect(width + 115, 0.5 * inch, 4, 30, fill=1) canvas.setFillColorRGB(76 / 256, 145 / 256, 65 / 256) canvas.setStrokeColorRGB(76 / 256, 145 / 256, 65 / 256) canvas.rect(width + 122, 0.5 * inch, 8, 30, fill=1) canvas.restoreState()
# Parâmetros (x, y, radius) canvas.circle(100, 500, 50, stroke=1, fill=0) # Com contorno e sem preenchimento canvas.circle(300, 500, 80, stroke=0, fill=1) # Sem contorno e com preenchimento # # Colorindo elementos # # Parâmetros (R, G, B) canvas.setFillColorRGB(255, 0, 0) canvas.rect(60, 300, 50, 100, stroke=0, fill=1) # Somente uma escala para tons de cinza (0 - 1) canvas.setFillGray(0.9) canvas.rect(180, 300, 50, 100, stroke=0, fill=1) # Alterando a cor da borda canvas.setStrokeColorRGB(0, 0, 255) canvas.rect(300, 300, 50, 100, stroke=1, fill=1) # # Utilizando o HexCode # from reportlab.lib.colors import HexColor canvas.setFillColor(HexColor('#ff8100')) canvas.rect(420, 300, 50, 100, stroke=1, fill=1)
def draw(self, pmlOp, pageNr, canvas, pe): canvas.setFillGray(pmlOp.grayvalue)
def colors2(canvas): from reportlab.lib.units import inch x = 0; dx = 0.4*inch for i in range(4): for color in (colors.pink, colors.green, colors.brown): canvas.setFillColor(color) canvas.rect(x,0,dx,3*inch,stroke=0,fill=1) x = x+dx canvas.setFillColor(colors.white) canvas.setStrokeColor(colors.white) canvas.setFont("Helvetica-Bold", 85) canvas.drawCentredString(2.75*inch, 1.3*inch, "OPEN") return textobject = canvas.beginText() textobject.setTextOrigin(inch, 2.5*inch) textobject.setFont("Helvetica-Oblique", 14) for line in lyrics: textobject.textLine(line) textobject.setFillGray(0.4) textobject.textLines(''' With many apologies to the Beach Boys and anyone else who finds this objectionable ''') canvas.drawText(textobject) black = colors.black y = x = 0; dy=inch*3/4.0; dx=inch*5.5/5; w=h=dy/2; rdx=(dx-w)/2 rdy=h/5.0; texty=h+2*rdy canvas.setFont("Helvetica",10) for [namedcolor, name] in ( [colors.lavenderblush, "lavenderblush"], [colors.lawngreen, "lawngreen"], [colors.lemonchiffon, "lemonchiffon"], [colors.lightblue, "lightblue"], [colors.lightcoral, "lightcoral"]): canvas.setFillColor(namedcolor) canvas.rect(x+rdx, y+rdy, w, h, fill=1) canvas.setFillColor(black) canvas.drawCentredString(x+dx/2, y+texty, name) x = x+dx y = y + dy; x = 0 for rgb in [(1,0,0), (0,1,0), (0,0,1), (0.5,0.3,0.1), (0.4,0.5,0.3)]: r,g,b = rgb canvas.setFillColorRGB(r,g,b) canvas.rect(x+rdx, y+rdy, w, h, fill=1) canvas.setFillColor(black) canvas.drawCentredString(x+dx/2, y+texty, "r%s g%s b%s"%rgb) x = x+dx y = y + dy; x = 0 for cmyk in [(1,0,0,0), (0,1,0,0), (0,0,1,0), (0,0,0,1), (0,0,0,0)]: c,m,y1,k = cmyk canvas.setFillColorCMYK(c,m,y1,k) canvas.rect(x+rdx, y+rdy, w, h, fill=1) canvas.setFillColor(black) canvas.drawCentredString(x+dx/2, y+texty, "c%s m%s y%s k%s"%cmyk) x = x+dx y = y + dy; x = 0 for gray in (0.0, 0.25, 0.50, 0.75, 1.0): canvas.setFillGray(gray) canvas.rect(x+rdx, y+rdy, w, h, fill=1) canvas.setFillColor(black)
# Parâmetros (x, y, radius) canvas.circle(100, 500, 50, stroke=1, fill=0) # Com contorno e sem preenchimento canvas.circle(300, 500, 80, stroke=0, fill=1) # Sem contorno e com preenchimento # # Colorindo elementos # # Parâmetros (R, G, B) canvas.setFillColorRGB(255, 0, 0) canvas.rect(60, 300, 50, 100, stroke=0, fill=1) # Somente uma escala para tons de cinza (0 - 1) canvas.setFillGray(0.9) canvas.rect(180, 300, 50, 100, stroke=0, fill=1) # Alterando a cor da borda canvas.setStrokeColorRGB(0, 0, 255) canvas.rect(300, 300, 50, 100, stroke=1, fill=1) # # Utilizando o HexCode # from reportlab.lib.colors import HexColor canvas.setFillColor(HexColor('#ff8100')) canvas.rect(420, 300, 50, 100, stroke=1, fill=1) canvas.save()