Beispiel #1
0
    def draw_debug_outline(self, config):
        """draw an outline around the box"""
        canvas = self.canvas

        # don't muck up the external state
        canvas.saveState()

        # discreet - but visible
        canvas.setStrokeColorRGB(0.9, 0.7, 0.7)
        canvas.setFillColorRGB(0.6, 0.6, 0.6)
        canvas.setFont('Helvetica', 8)

        # draw a box to show the extent
        canvas.rect(
            config['x'],
            config['y'],
            config['w'],
            config['h'],
            stroke=1,
            fill=0,
        )

        # put in some debug info
        canvas.drawRightString(config['x'] + config['w'], config['y'] + 4,
                               ', '.join(config['content']))

        # restore state
        canvas.restoreState()
Beispiel #2
0
def first_page_boxes(canvas):
    #Box1
    canvas.setStrokeColorRGB(0, 0, 0)
    canvas.rect(20, 504, 270, 117)
    canvas.line(20, 599, 290, 599)
    canvas.setFont('palab', 9)
    canvas.drawString(40, 605, 'Bill To:')

    canvas.setFont('pala', 9)
    #Dynamic
    canvas.drawString(40, 585, 'Test Orders Invoices')
    canvas.drawString(40, 573, '123 Center Str')
    canvas.drawString(40, 561, 'Boko Town, Boko 999999')

    #Box2
    canvas.rect(310, 504, 270, 117)
    canvas.line(310, 599, 580, 599)

    canvas.setFont('palab', 9)
    canvas.drawString(320, 605, 'Order Information:')
    canvas.drawString(320, 585, 'Order Date: ')
    canvas.drawString(320, 573, 'Order Name: ')
    canvas.drawString(320, 561, 'Client Matter Number: ')
    canvas.drawString(320, 549, 'Total Amount Due: ')
    canvas.drawString(320, 537, 'Processed By: ')
    canvas.drawString(320, 525, 'Authorized By: ')

    canvas.setFont('pala', 9)
    canvas.drawString(390, 585, 'April 14, 2021')
    canvas.drawString(390, 573, 'Test orders Aaron')
    #canvas.drawString(390, 561,'Client Matter Number: ')
    canvas.drawString(405, 549, '$144945')
    canvas.drawString(390, 537, 'Aaron Sauber')
    canvas.drawString(390, 525, 'Judith Testing')
Beispiel #3
0
        def prepare_first_page(canvas, document):
            p1 = Paragraph(presentation.title, styles['Heading'])
            p2 = Paragraph(
                presentation.owner.get_full_name(), styles['SubHeading'])
            avail_width = width - inch
            avail_height = height - inch
            w1, h1 = p1.wrap(avail_width, avail_height)
            w2, h2 = p2.wrap(avail_width, avail_height)
            f = Frame(
                inch / 2,
                inch / 2,
                width - inch,
                height - inch,
                leftPadding=0,
                bottomPadding=0,
                rightPadding=0,
                topPadding=0
            )
            f.addFromList([p1, p2], canvas)

            document.pageTemplate.frames[0].height -= h1 + h2 + inch / 2
            document.pageTemplate.frames[1].height -= h1 + h2 + inch / 2

            canvas.saveState()
            canvas.setStrokeColorRGB(0, 0, 0)
            canvas.line(
                width / 2, inch / 2, width / 2, height - inch - h1 - h2)
            canvas.restoreState()
def drawCutlines(canvas):
	canvas.setStrokeColorRGB(255,0,0)

	canvas.circle(6*scale_num,6*scale_num, hole_rad*scale_num/2, stroke=1, fill=0)
	canvas.circle(6*scale_num,6*scale_num, diameter*scale_num/2, stroke=1, fill=0)

	return canvas
    def draw_debug_outline(self, config ):
        """draw an outline around the box"""
        canvas = self.canvas

        # don't muck up the external state
        canvas.saveState()

        # discreet - but visible
        canvas.setStrokeColorRGB( 0.9, 0.7, 0.7 )
        canvas.setFillColorRGB(   0.6, 0.6, 0.6 )
        canvas.setFont( 'Helvetica', 8 )

        # draw a box to show the extent
        canvas.rect(
            config['x'], config['y'], config['w'], config['h'], 
            stroke=1, fill=0,
        )
        
        # put in some debug info
        canvas.drawRightString(
            config['x'] + config['w'],
            config['y'] + 4,
            ', '.join(config['content'])
        )
        
        # restore state
        canvas.restoreState()
Beispiel #6
0
        def prepare_first_page(canvas, document):
            p1 = Paragraph(presentation.title, styles['Heading'])
            p2 = Paragraph(presentation.owner.get_full_name(),
                           styles['SubHeading'])
            avail_width = width - inch
            avail_height = height - inch
            w1, h1 = p1.wrap(avail_width, avail_height)
            w2, h2 = p2.wrap(avail_width, avail_height)
            f = Frame(inch / 2,
                      inch / 2,
                      width - inch,
                      height - inch,
                      leftPadding=0,
                      bottomPadding=0,
                      rightPadding=0,
                      topPadding=0)
            f.addFromList([p1, p2], canvas)

            document.pageTemplate.frames[0].height -= h1 + h2 + inch / 2
            document.pageTemplate.frames[1].height -= h1 + h2 + inch / 2

            canvas.saveState()
            canvas.setStrokeColorRGB(0, 0, 0)
            canvas.line(width / 2, inch / 2, width / 2,
                        height - inch - h1 - h2)
            canvas.restoreState()
Beispiel #7
0
    def myLaterPages(canvas, doc):

        PAGE_HEIGHT,PAGE_WIDTH = letter
        canvas.saveState()
        canvas.setPageSize(landscape(letter))

        canvas.drawImage(frunt_pag2, 0,0, PAGE_WIDTH,PAGE_HEIGHT )

        canvas.setStrokeColorRGB(0,1,1,alpha=0.1)

        ficha_no = doc.page-1
        #canvas.setStrokeColorRGB(0.7,0.7,0.7)
        canvas.setFillColorRGB(0,0,0)

        SHOW_GRID = False

        if SHOW_GRID:
            n = 5
            s = 200
            canvas.setFillColorRGB(0,0,1)
            canvas.setFont('Helvetica',1)
            for x in range(s):
               for y in range(s):
                  canvas.rect(x*n,y*n, width=n, height=n, stroke=1)
                  canvas.drawString(x*n,y*n,"%s,%s" % ((x*n),(y*n)) )

            # for i in range(s):
            #     x= i*n
            #     y=x
            #     canvas.drawString(x,0,"%s" % (x)) #horizontal
            #     canvas.drawString(0,y+1,"%s" % (x)) # vertical
            #     canvas.drawString(x,600,"%s" % (x)) #horizontal
            #     canvas.drawString(990,y,"%s" % (x)) # vertical
            #
            #     canvas.setStrokeColorRGB(0,0,1,alpha=0.7)
            #     canvas.setFont('Helvetica',1)
            #     for i in range(610):
            #         #canvas.rect(35,i*2, width=0.5, height=0.5, stroke=1)
            #         canvas.drawString(35,i,"%s -" % (i,) )

        canvas.setFont('Helvetica',7)
        LINE_1 = 508

        #fecha_elaboracion = doc.fecha_elaboracion
        #if not fecha_elaboracion:
        #    fecha_elaboracion = datetime.today()

        canvas.drawCentredString(137,LINE_1,str(fecha_elaboracion.year))
        canvas.drawCentredString(162,LINE_1,str(fecha_elaboracion.month))
        canvas.drawCentredString(180,LINE_1,str(fecha_elaboracion.day))

        canvas.drawCentredString(290,LINE_1,"VALLE DEL CAUCA")

        canvas.drawCentredString(740,LINE_1,"Ficha No. %s" % (int(ficha_no)+int(no_ficha_inicial)-1))

        canvas.setFont('Helvetica',5)
        canvas.drawString(75,115, "Elaboro: %s" % elaboro)
        canvas.drawString(215,115, "Reviso: %s" % reviso)

        canvas.restoreState()
def draw_angle_lines(canvas, angles, distance, pagesize, grey):
    "Draws oblique lines to help with pen positioning and serifs"
    angles = (float(x.strip()) for x in angles.split(","))
    if grey:
        canvas.setStrokeColorRGB(0.7, 0.7, 0.7)
    for i in angles:
        draw_lines_for_angle(canvas, i, distance, pagesize)
Beispiel #9
0
def framePage(canvas):
    # Деление страницы на 4 зоны линиями
    canvas.setFont('Times-Roman', 20)
    canvas.setStrokeColorRGB(0, 0, 0)
    canvas.setLineWidth(1)
    canvas.line(w / 2, 0, w / 2, h)
    canvas.line(0, h / 2, w, h / 2)
def drawCrossHairs(canvas, x, y):
    """just a marker for checking text metrics - blue for fun"""

    canvas.saveState()
    canvas.setStrokeColorRGB(0, 1, 0)
    canvas.line(x - 6, y, x + 6, y)
    canvas.line(x, y - 6, x, y + 6)
    canvas.restoreState()
Beispiel #11
0
def highlight(canvas, x, y, width, color):
    canvas.setStrokeColorRGB(color[0], color[1], color[2])
    canvas.setFillColorRGB(color[0], color[1], color[2])

    canvas.rect(x - 3, y - 3, width - 2, LINE + 1, 1, 1)

    canvas.setStrokeColorRGB(0, 0, 0)
    canvas.setFillColorRGB(0, 0, 0)
def drawCrossHairs(canvas, x, y):
    """just a marker for checking text metrics - blue for fun"""

    canvas.saveState()
    canvas.setStrokeColorRGB(0, 1, 0)
    canvas.line(x - 6, y, x + 6, y)
    canvas.line(x, y - 6, x, y + 6)
    canvas.restoreState()
Beispiel #13
0
def header_func(canvas):
	#logo = "/Users/riccardo/Desktop/Progetti/chibe/chibe/static/homepage.png"
	logo = "/home/django/static/homepage.png"

	canvas.setStrokeColorRGB(0.9, 0.5, 0.2)
	canvas.setFillColorRGB(0.2, 0.2, 0.2)
	canvas.setFont('Helvetica', 16)
	canvas.drawString(13 * cm, -2 * cm, 'Report transazioni Chibe')
	canvas.drawInlineImage(logo, 1 * cm, -3 * cm, 3 * cm, 3 * cm)
Beispiel #14
0
def framePage(canvas, title, pos):
    canvas.setFont('Times-Roman', 15)
    canvas.drawString(inch, pos * inch, title)
    canvas.setFont('Times-Roman', 10)
    canvas.drawCentredString(4.135 * inch, 0.75 * inch,
                            'Página %d' % canvas.getPageNumber())
    #reset carefully afterwards
    canvas.setLineWidth(1)
    canvas.setStrokeColorRGB(0, 0, 0)
Beispiel #15
0
def drawlines(canvas):
	canvas.setStrokeColorRGB(0.2,0.5,0.3)
	canvas.line(0,0,70,70)
	textobject = canvas.beginText()
	textobject.setTextOrigin(51.2,749)
	textobject.textLines('''
	LEFT 
	FIELD 
	LABS
	''')
	canvas.drawText(textobject)
Beispiel #16
0
def draw_header(canvas):
    """ Draws the invoice header """
    canvas.setStrokeColorRGB(176/255., 196/255., 222/255.)
    # canvas.setStrokeColorRGB(0.9, 0.5, 0.2)
    canvas.setFillColorRGB(0.2, 0.2, 0.2)
    canvas.setFont('Helvetica', 16)
    canvas.drawString(18 * cm, -1 * cm, 'Invoice')
    if consultant_logo_filename:
        canvas.drawInlineImage(consultant_logo_filename, 1 * cm, -1 * cm, 250, 16)
    canvas.setLineWidth(4)
    canvas.line(0, -1.25 * cm, 21.7 * cm, -1.25 * cm)
Beispiel #17
0
def framePage(canvas, title):
    canvas.setFont('Times-BoldItalic',20)
    canvas.drawString(inch, 10.5 * inch, title)

    canvas.setFont('Times-Roman',10)
    canvas.drawCentredString(4.135 * inch, 0.75 * inch,
                            'Page %d' % canvas.getPageNumber())

    #reset carefully afterwards
    canvas.setLineWidth(1)
    canvas.setStrokeColorRGB(0,0,0)
Beispiel #18
0
def draw_header(canvas):
    """ Draws the invoice header """
    canvas.setStrokeColorRGB(176 / 255., 196 / 255., 222 / 255.)
    # canvas.setStrokeColorRGB(0.9, 0.5, 0.2)
    canvas.setFillColorRGB(0.2, 0.2, 0.2)
    canvas.setFont('Helvetica', 16)
    canvas.drawString(18 * cm, -1 * cm, 'Invoice')
    if consultant_logo_filename:
        canvas.drawInlineImage(consultant_logo_filename, 1 * cm, -1 * cm, 250,
                               16)
    canvas.setLineWidth(4)
    canvas.line(0, -1.25 * cm, 21.7 * cm, -1.25 * cm)
Beispiel #19
0
def get_stamp_pdf(PROJ_NAME, PAGE_NO):
    from reportlab.pdfgen import canvas
    out_path = tempfile.mktemp(suffix=".pdf")
    canvas = canvas.Canvas(out_path, pagesize=A4)
    canvas.setLineWidth(.3)
    canvas.setFont('Segoe UI', 8)
    canvas.setStrokeColorRGB(0, 0, 0)
    canvas.setFillColorRGB(0, 0, 0)
    canvas.drawString(30, 10, "Feedback Report for {0}".format(PROJ_NAME))
    canvas.drawString(540, 10, "Page {0}".format(PAGE_NO))
    canvas.save()
    return out_path
Beispiel #20
0
    def myFirstPage(canvas, doc):
        PAGE_HEIGHT,PAGE_WIDTH = letter
        canvas.saveState()
        canvas.drawImage(fondo, 0,0, PAGE_HEIGHT, PAGE_WIDTH )
        canvas.setStrokeColorRGB(1,0,1,alpha=0.1)
        #canvas.setPageSize(landscape(letter))
        canvas.setFont('Arial', 10)
        canvas.drawString(150, 579, cuenta_cobro.nombre_dependencia)
        canvas.drawString(215, 558, cuenta_cobro.fecha_transaccion)
        canvas.drawString(284, 538, cuenta_cobro.nombre_adquiriente)
        canvas.drawString(90, 513,  cuenta_cobro.nit_adquiriente)
        canvas.drawString(230, 513, cuenta_cobro.direccion_adquiriente)
        canvas.drawString(492, 513, cuenta_cobro.telefono_adquiriente)
        canvas.drawString(120, 488, cuenta_cobro.ciudad_adquiriente)
        #
        canvas.drawString(285, 474, cuenta_cobro.nombre_beneficiario)
        canvas.drawString(140, 448, cuenta_cobro.documento_beneficiario)
        canvas.drawString(365, 448, cuenta_cobro.direccion_beneficiario)
        canvas.drawString(120, 425, cuenta_cobro.telefono_beneficiario)
        canvas.drawString(360, 425, cuenta_cobro.email_beneficiario)
        canvas.drawString(115, 410, cuenta_cobro.ciudad_beneficiario)

        cuenta_cobro.objeto_contrato = textwrap.fill(cuenta_cobro.objeto_contrato, 80)

        textobject = canvas.beginText()
        textobject.setTextOrigin(63, 365)
        textobject.textLines(cuenta_cobro.objeto_contrato)
        canvas.drawText(textobject)

        canvas.drawString(117, 297, cuenta_cobro.no_rpc)
        canvas.drawString(242, 297, cuenta_cobro.no_cdp)
        canvas.drawString(392, 297, cuenta_cobro.valor_contrato)

        canvas.drawString(127, 282, cuenta_cobro.concepto)
        canvas.drawString(127, 268, cuenta_cobro.valor_concepto)
        canvas.drawString(95, 255, cuenta_cobro.valor_concepto_letras)

        SHOW_GRID = False
        if SHOW_GRID:
             n = 5
             s = 200
             #canvas.setStrokeGray(0.90)
             #canvas.setFillGray(0.90)
             canvas.setStrokeColorRGB(0,1,1,alpha=0.1)

             canvas.setFillColorRGB(1,0,1)
             canvas.setFont('Arial',1)
             for x in range(s):
                for y in range(s):
                   canvas.rect(x*n,y*n, width=n, height=n, stroke=1)
                   canvas.drawString(x*n,y*n,"%s,%s" % ((x*n),(y*n)) )
        canvas.restoreState()
Beispiel #21
0
    def draw_later_header(self, canvas, doc):
        header_string = f"{self.title} - {self.filename}".replace(
            "&lt;", "<").replace("&gt;", ">")

        canvas.setStrokeColorRGB(0, 0, 0)
        canvas.setLineWidth(0.5)
        canvas.setFont(_baseFontName, 10)
        print(
            f"Later Header Height: {self.bottomMargin + self.inner_height + 5}"
        )
        canvas.drawString(self.leftMargin + 5,
                          self.inner_height + self.bottomMargin + 5,
                          header_string)
Beispiel #22
0
 def draw_main_doc_header(canvas, pdf):
     """ Draws the invoice header """
     canvas.saveState()
     canvas.translate(0, 29.7 * cm)
     canvas.setFont('Helvetica', 10)
     canvas.setStrokeColorRGB(0.9, 0.5, 0.2)
     canvas.setFillColorRGB(0.2, 0.2, 0.2)
     canvas.setFont('Helvetica', 16)
     canvas.drawString(18 * cm, -1 * cm, 'Invoice')
     canvas.drawInlineImage(INV_LOGO, 1 * cm, -1 * cm, 25, 25)
     canvas.setLineWidth(4)
     canvas.line(0, -1.25 * cm, 21.7 * cm, -1.25 * cm)
     canvas.restoreState()
def framePage(canvas, doc):
    # canvas.drawImage("snkanim.gif", 36, 36)
    canvas.saveState()
    canvas.setStrokeColorRGB(1, 0, 0)
    canvas.setLineWidth(5)
    canvas.line(66, 72, 66, PAGE_HEIGHT - 72)

    canvas.setFont("Times-Italic", 12)
    canvas.drawRightString(523, PAGE_HEIGHT - 56, "Platypus User Guide and Test Script")

    canvas.setFont("Times-Roman", 12)
    canvas.drawString(4 * inch, 0.75 * inch, "Page %d" % canvas.getPageNumber())
    canvas.restoreState()
Beispiel #24
0
 def onMyFirstPage(self, canvas, doc):
     # If the left_footer attribute is not None, then add it to the page
     canvas.saveState()
     if self.left_footer is not None:
         # canvas.setFont('Helvetica', 8)
         # canvas.drawString(1 * cm, 1 * cm, self.left_footer)
         canvas.setFont("Times-Roman", 150)
         canvas.setStrokeColorRGB(0.74, 0.74, 0.74)
         canvas.setFillColorRGB(0.74, 0.74, 0.74)
         canvas.translate(A4[0] / 2, A4[1] / 2)
         canvas.rotate(45)
         canvas.drawCentredString(20, 0, self.left_footer)
     canvas.restoreState()
Beispiel #25
0
	def printBandOutline(self, canvas, text):
		""" Draw a dotted rectangle around the entire band, and type a small faded
		caption at the origin of the band.
		"""
		canvas.saveState()
		canvas.setLineWidth(0.1)
		canvas.setStrokeColorRGB(0.8, 0.5, 0.7)
		canvas.setDash(1, 2)
		canvas.rect(self.x, self.y, self.width, self.height)
		canvas.setFont("Helvetica", 8)
		canvas.setFillColor((0.6, 0.8, 0.7))
		canvas.drawString(self.x, self.y, text)
		canvas.restoreState()
Beispiel #26
0
    def myFirstPage(canvas, doc):
        PAGE_HEIGHT,PAGE_WIDTH = letter
        canvas.saveState()
        canvas.drawImage(fondo, 0,0, PAGE_HEIGHT, PAGE_WIDTH )
        canvas.setStrokeColorRGB(1,0,1,alpha=0.1)
        #canvas.setPageSize(landscape(letter))
        canvas.setFont('Arial', 8)
        canvas.drawString(132,670, cuenta_cobro.periodo)
        canvas.drawString(475, 670, cuenta_cobro.num_cuota)
        canvas.drawString(132, 653, cuenta_cobro.fecha_transaccion)
        canvas.drawString(132, 633,  cuenta_cobro.no_contrato)

        seguridad_social = "Adjunto planilla de pago de Seguridad social No %s " % (cuenta_cobro.num_planilla_ss,)
        seguridad_social = seguridad_social + " correspondiente a los aportes del mes de %s, en los terminos legales." % (cuenta_cobro.mes_planilla_ss)
        #canvas.drawString(132, 300,textwrap.fill(seguridad_social, 90)  )
        cuenta_cobro.informe_actividades_periodo = textwrap.fill(cuenta_cobro.informe_actividades_periodo, 105)

        textobject = canvas.beginText()
        textobject.setTextOrigin(132, 609)
        textobject.textLines(cuenta_cobro.informe_actividades_periodo)
        canvas.drawText(textobject)

        textobject = canvas.beginText()
        textobject.setTextOrigin(132, 240)
        textobject.textLines(textwrap.fill(seguridad_social, 105))
        canvas.drawText(textobject)

        #canvas.drawString(132, 292,  "correspondiente a los aportes del mes de %s, en los terminos legales." % (cuenta_cobro.mes_planilla_ss))

        canvas.drawCentredString(170, 90, cuenta_cobro.nombre_interventor)
        canvas.drawCentredString(170, 81, "INTERVENTOR/SUPERVISOR %s" % (cuenta_cobro.cargo_interventor,))

        canvas.drawCentredString(415, 90, cuenta_cobro.nombre_beneficiario)
        canvas.drawCentredString(415, 81, "C.C. No. %s de %s" % (cuenta_cobro.documento_beneficiario, cuenta_cobro.lugar_exp_doc_beneficiario))


        SHOW_GRID = False
        if SHOW_GRID:
             n = 5
             s = 200
             #canvas.setStrokeGray(0.90)
             #canvas.setFillGray(0.90)
             canvas.setStrokeColorRGB(0,1,1,alpha=0.1)

             canvas.setFillColorRGB(1,0,1)
             canvas.setFont('Arial',1)
             for x in range(s):
                for y in range(s):
                   canvas.rect(x*n,y*n, width=n, height=n, stroke=1)
                   canvas.drawString(x*n,y*n,"%s,%s" % ((x*n),(y*n)) )
        canvas.restoreState()
Beispiel #27
0
def framePage(canvas,doc):
    #canvas.drawImage("snkanim.gif", 36, 36)
    canvas.saveState()
    canvas.setStrokeColorRGB(1,0,0)
    canvas.setLineWidth(5)
    canvas.line(66,72,66,PAGE_HEIGHT-72)

    canvas.setFont('Times-Italic',12)
    canvas.drawRightString(523, PAGE_HEIGHT - 56, "Platypus User Guide and Test Script")

    canvas.setFont('Times-Roman',12)
    canvas.drawString(4 * inch, 0.75 * inch,
                        "Page %d" % canvas.getPageNumber())
    canvas.restoreState()
def framePage(canvas, title):
    canvas.setFont("Times-BoldItalic", 20)
    canvas.drawString(inch, 10.5 * inch, title)

    canvas.setFont("Times-Roman", 10)
    canvas.drawCentredString(4.135 * inch, 0.75 * inch, "Page %d" % canvas.getPageNumber())

    # draw a border
    canvas.setStrokeColorRGB(1, 0, 0)
    canvas.setLineWidth(5)
    canvas.line(0.8 * inch, inch, 0.8 * inch, 10.75 * inch)
    # reset carefully afterwards
    canvas.setLineWidth(1)
    canvas.setStrokeColorRGB(0, 0, 0)
Beispiel #29
0
def draw_page(page, uid, survey_name, canvas: reportlab.pdfgen.canvas.Canvas):
    draw_qr_data(canvas, 'survey:' + survey_name + ':' + page.name + ':' + uid,
                 64, (48, height - 64 - 48))
    canvas.setFillColorRGB(0.2, 0.2, 0.2)
    canvas.setStrokeColorRGB(0.2, 0.2, 0.2)
    canvas.circle(32, 32, 4, stroke=1, fill=1)
    canvas.circle(32 + 12, 32, 4, stroke=1, fill=1)
    canvas.circle(32, 32 + 12, 4, stroke=1, fill=1)
    canvas.circle(width - 32, height - 32, 4, stroke=1, fill=1)
    canvas.circle(width - 32 - 12, height - 32, 4, stroke=1, fill=1)
    canvas.circle(width - 32, height - 32 - 12, 4, stroke=1, fill=1)
    canvas.circle(width - 32, 32, 4, stroke=1, fill=1)
    canvas.circle(width - 32 - 12, 32, 4, stroke=1, fill=1)
    canvas.circle(width - 32, 32 + 12, 4, stroke=1, fill=1)
    canvas.circle(32, height - 32, 4, stroke=1, fill=1)
    canvas.circle(32 + 12, height - 32, 4, stroke=1, fill=1)
    canvas.circle(32, height - 32 - 12, 4, stroke=1, fill=1)

    canvas.setFillColorRGB(0.3, 0.3, 0.3)
    canvas.drawString(128, height - 67,
                      survey_name + ':' + page.name + ':' + uid)

    canvas.setFillColorRGB(0.4, 0.4, 0.4)
    canvas.setStrokeColorRGB(0.2, 0.2, 0.2)
    canvas.setFont('Courier', 8)
    for field in page.get_binary_fields():
        canvas.circle(field.position[0],
                      height - field.position[1],
                      5,
                      stroke=1,
                      fill=0)
        canvas.drawCentredString(field.position[0],
                                 height - field.position[1] - 2, field.hint)

    canvas.setFillColorRGB(0.1, 0.1, 0.1)
    for text in page.get_text_areas():
        if text.rotation != 0:
            canvas.saveState()
            canvas.rotate(text.rotation)
        tobj = canvas.beginText(text.position[0], height - text.position[1])
        tobj.setFont(text.fontname, text.fontsize)
        for line in text.text.split():
            tobj.textLine(line)
        canvas.drawText(tobj)

        if text.rotation != 0:
            canvas.restoreState()
    canvas.showPage()
Beispiel #30
0
    def draw_footer(self, canvas, doc):

        canvas.setStrokeColorRGB(0, 0, 0)
        canvas.setLineWidth(0.5)
        canvas.setFont('Times-Roman', 10)

        username = getpass.getuser()
        device = socket.gethostname()
        creation_time = datetime.datetime.now().strftime("%H:%M:%S %d/%m/%Y")

        footer_string = f"Generated from {self.full_filename} by {username}@{device} on {creation_time}"
        # split_len = 100
        split_len = self.inner_width / 4.6
        print("Making Footer!")
        generated_by_height = canvas.footer_height + (cm * 0.5)

        if len(footer_string) > split_len:
            wrap_text = textwrap.wrap(footer_string, width=split_len)[::-1]
            for idx, line in enumerate(wrap_text):
                canvas.drawString(doc.leftMargin,
                                  generated_by_height + (idx * 0.5 * cm), line)
            canvas.line(
                x1=doc.leftMargin,
                y1=generated_by_height + (len(wrap_text) * 0.5 * cm),
                x2=doc.pagesize[0] - 50,
                y2=generated_by_height + (len(wrap_text) * 0.5 * cm),
            )

        elif len(footer_string) < self.inner_width / 6:
            canvas.drawString(doc.leftMargin, canvas.footer_height,
                              footer_string)
            canvas.line(
                x1=doc.leftMargin,
                y1=canvas.footer_height + (0.5 * cm),
                x2=doc.pagesize[0] - 50,
                y2=canvas.footer_height + (0.5 * cm),
            )

        else:
            canvas.drawString(doc.leftMargin, generated_by_height,
                              footer_string)
            canvas.line(
                x1=doc.leftMargin,
                y1=generated_by_height + (0.5 * cm),
                x2=doc.pagesize[0] - 50,
                y2=generated_by_height + (0.5 * cm),
            )
Beispiel #31
0
def gentestlabels():
    # ascertain edges
    global gl_printer
    (xwidth, yheight) = letter
    margin = .3 * inch
    xwidth -= margin * 2
    yheight -= margin * 2
    xorg = yorg = margin

    canvas = canvas_init('tmp/kitlabels.pdf',
                         pagesize=letter,
                         bottomup=1,
                         verbosity=1)

    canvas.setStrokeColorRGB(.33, .33, .33)
    canvas.setFont('Helvetica', 10)

    yrows = 3
    xcols = 2

    ystep = yheight / yrows
    xstep = xwidth / xcols

    v('xystep: %f %f' % (xstep, ystep))

    x = xorg

    i = 0
    pages = 2

    for page in range(pages):
        if (page != 0):
            canvas.showPage()

        y = yheight - ystep + margin
        for yrowcount in reversed(range(yrows)):
            for xcolcount in reversed(range(xcols)):

                genkitlabel(canvas, x, y, xstep, ystep, '', test=1)
                i += 1
                x += xstep

            x = xorg
            y -= ystep

    finish_up(canvas)
    exit()
Beispiel #32
0
def gentestlabels():
  # ascertain edges
  global gl_printer
  (xwidth, yheight) = letter
  margin = .3*inch
  xwidth -= margin*2
  yheight -= margin*2
  xorg = yorg = margin


  canvas = canvas_init('tmp/kitlabels.pdf',pagesize=letter,bottomup=1,verbosity=1)

  canvas.setStrokeColorRGB(.33,.33,.33)
  canvas.setFont('Helvetica',10)

  yrows = 3
  xcols = 2

  ystep = yheight/yrows
  xstep = xwidth/xcols

  v('xystep: %f %f' % (xstep,ystep) )

  x = xorg

  i = 0
  pages = 2

  for page in range(pages):
    if (page != 0):
      canvas.showPage()

    y = yheight-ystep+margin
    for yrowcount in reversed(range(yrows)):
      for xcolcount in reversed(range(xcols)):

        genkitlabel(canvas, x,y,xstep,ystep,'',test=1)
        i += 1
        x += xstep

      x = xorg
      y -= ystep

  finish_up(canvas)
  exit()
Beispiel #33
0
def _footer(canvas, doc):
    splunkLayoutSettings = PAPERSIZES[doc.splunkPaperSize]
    canvas.saveState()
    canvas.setStrokeColorRGB(0.8, 0.8, 0.8)
    canvas.setLineWidth(1)  # hairline
    canvas.line(inch, inch, doc.width + inch, inch)
    canvas.setStrokeColorRGB(0.5, 0.5, 0.5)
    canvas.setFillColorRGB(0.586, 0.586, 0.586)
    canvas.drawRightString(doc.width + inch, 0.75 * inch - _TEXT_OFFSET,
                           "Page %d" % (doc.page))

    # draw title centered and ellipsized
    ellipsizedTitle = _ellipsize(doc.getTitle(),
                                 splunkLayoutSettings['ellipsizedTitleCount'])
    ellipsizedTitleWidth = doc.getFontManager().textWidth(
        ellipsizedTitle, _TITLE_SIZE)
    textObject = canvas.beginText(
        inch + doc.width / 2 - ellipsizedTitleWidth / 2,
        0.75 * inch - _TEXT_OFFSET)
    doc.getFontManager().addTextAndFontToTextObject(textObject,
                                                    ellipsizedTitle,
                                                    _TITLE_SIZE)
    canvas.drawText(textObject)

    timestamp = doc.getTimestamp()
    timestampWidth = doc.getFontManager().textWidth(timestamp, _DATE_SIZE)
    textObject = canvas.beginText(inch + doc.width - timestampWidth,
                                  inch - _TEXT_OFFSET)
    doc.getFontManager().addTextAndFontToTextObject(textObject, timestamp,
                                                    _DATE_SIZE)
    canvas.drawText(textObject)

    canvas.restoreState()
    canvas.saveState()
    if doc.getLogoDrawing() != None:
        logoDrawing = doc.getLogoDrawing()
        renderPDF.draw(logoDrawing,
                       canvas,
                       inch,
                       inch - logoDrawing.height - _LOGO_OFFSET,
                       showBoundary=False)
    canvas.restoreState()
Beispiel #34
0
        def prepare_first_page(canvas, document):
            p1 = Paragraph(presentation.title, styles['Heading'])
            p2 = Paragraph(presentation.owner.get_full_name(), styles['SubHeading'])
            avail_width = width - inch
            # TODO: determine if the complaint about height being undeclared is just pycharm or if its a problem
            # if it is possibly a problem "it's better to be explicit" so refactor
            avail_height = height - inch
            w1, h1 = p1.wrap(avail_width, avail_height)
            w2, h2 = p2.wrap(avail_width, avail_height)
            f = Frame(inch / 2, inch / 2, width - inch, height - inch,
                      leftPadding=0, bottomPadding=0, rightPadding=0, topPadding=0)
            f.addFromList([p1, p2], canvas)

            document.pageTemplate.frames[0].height -= h1 + h2 + inch / 2
            document.pageTemplate.frames[1].height -= h1 + h2 + inch / 2

            canvas.saveState()
            canvas.setStrokeColorRGB(0, 0, 0)
            canvas.line(width / 2, inch / 2, width / 2, height - inch - h1 - h2)
            canvas.restoreState()
Beispiel #35
0
def draw_page(page, uid, survey_name, canvas : reportlab.pdfgen.canvas.Canvas):
    draw_qr_data(canvas, 'survey:'+survey_name+':'+page.name+':'+uid, 64, (48, height-64-48))
    canvas.setFillColorRGB(0.2, 0.2, 0.2)
    canvas.setStrokeColorRGB(0.2, 0.2, 0.2)
    canvas.circle(32, 32, 4, stroke=1, fill=1)
    canvas.circle(32+12, 32, 4, stroke=1, fill=1)
    canvas.circle(32, 32+12, 4, stroke=1, fill=1)
    canvas.circle(width - 32, height - 32, 4, stroke=1, fill=1)
    canvas.circle(width - 32-12, height - 32, 4, stroke=1, fill=1)
    canvas.circle(width - 32, height - 32-12, 4, stroke=1, fill=1)
    canvas.circle(width - 32, 32, 4, stroke=1, fill=1)
    canvas.circle(width - 32-12, 32, 4, stroke=1, fill=1)
    canvas.circle(width - 32, 32+12, 4, stroke=1, fill=1)
    canvas.circle(32, height - 32, 4, stroke=1, fill=1)
    canvas.circle(32+12, height - 32, 4, stroke=1, fill=1)
    canvas.circle(32, height - 32-12, 4, stroke=1, fill=1)

    canvas.setFillColorRGB(0.3, 0.3, 0.3)
    canvas.drawString(128, height - 67, survey_name+':'+page.name+':'+uid)

    canvas.setFillColorRGB(0.4, 0.4, 0.4)
    canvas.setStrokeColorRGB(0.2, 0.2, 0.2)
    canvas.setFont('Courier', 8)
    for field in page.get_binary_fields():
        canvas.circle(field.position[0], height - field.position[1], 5, stroke=1, fill=0)
        canvas.drawCentredString(field.position[0], height - field.position[1]-2, field.hint)

    canvas.setFillColorRGB(0.1, 0.1, 0.1)
    for text in page.get_text_areas():
        if text.rotation != 0:
            canvas.saveState()
            canvas.rotate(text.rotation)
        tobj = canvas.beginText(text.position[0], height - text.position[1])
        tobj.setFont(text.fontname, text.fontsize)
        for line in text.text.split():
            tobj.textLine(line)
        canvas.drawText(tobj)

        if text.rotation != 0:
            canvas.restoreState()
    canvas.showPage()
Beispiel #36
0
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()
Beispiel #37
0
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()
Beispiel #38
0
def addPage(canvas, page, strokes):
    canvas.setLineCap(1)
    if page['height'] > page['width']:
        PAGE = (A4[0], A4[1])
    else:
        PAGE = (A4[1], A4[0])

    canvas.setPageSize(PAGE)
    S = PAGE[0] / page['width']

    for s in strokes:
        dots = s['dots']
        x0, y0, p0, dt0 = dots[0]

        for x, y, p, dt in dots[1:]:
            # the factor 1.5 visually matches the thickness in neonote app
            canvas.setLineWidth((s['thickness'] + 1.5) * p)
            col = s['color']
            canvas.setStrokeColorRGB(col[1] / 255, col[2] / 255, col[3] / 255)
            canvas.line(S * x0, S * y0, S * x, S * y)
            x0, y0, p0 = x, y, p

    canvas.showPage()
Beispiel #39
0
    def myFirstPage(canvas, doc):
        PAGE_HEIGHT,PAGE_WIDTH = letter
        canvas.saveState()
        canvas.drawImage(fondo, 0,0, PAGE_HEIGHT, PAGE_WIDTH )
        canvas.setStrokeColorRGB(1,0,1,alpha=0.1)
        #canvas.setPageSize(landscape(letter))
        canvas.setFont('Arial', 10)
        canvas.drawString(150, 579, "-")

        SHOW_GRID = True
        if SHOW_GRID:
             n = 5
             s = 200
             #canvas.setStrokeGray(0.90)
             #canvas.setFillGray(0.90)
             canvas.setStrokeColorRGB(0,1,1,alpha=0.1)
             canvas.setFillColorRGB(1,0,1)
             canvas.setFont('Arial',1)
             for x in range(s):
                for y in range(s):
                   canvas.rect(x*n,y*n, width=n, height=n, stroke=1)
                   canvas.drawString(x*n,y*n,"%s,%s" % ((x*n),(y*n)) )
        canvas.restoreState()
Beispiel #40
0
 def drawGuides(self):
     canvas = self.canvas
     left = self.offsetx
     right = left + self.cardw*self.columns
     top = self.offsety + self.cardh
     bottom = top - self.cardh*self.rows
     canvas.setLineWidth(self.sepwidth)
     for ix in range(0, self.columns+1):
         x = self.offsetx + self.cardw*ix
         canvas.setStrokeColorRGB(*self.guides)
         canvas.line(x, self.pagesize[1], x, top)
         canvas.line(x, bottom, x, 0)
         canvas.setStrokeColorRGB(*self.separators)
         canvas.line(x, top, x, bottom)
     for iy in range(-1, self.rows):
         y = self.offsety - self.cardh*iy
         canvas.setStrokeColorRGB(*self.guides)
         canvas.line(0, y, left, y)
         canvas.line(right, y, self.pagesize[0], y)
         canvas.setStrokeColorRGB(*self.separators)
         canvas.line(left, y, right, y) 
	def drawGuides(self):
		GUIDECOLOR = (0.5, 0.5, 0.5)
		canvas = self.canvas
		left = self.offsetx
		right = left + self.cardw*self.columns
		top = self.offsety + self.cardh
		bottom = top - self.cardh*self.rows
		for ix in range(0, self.columns+1):
			x = self.offsetx + self.cardw*ix
			canvas.setStrokeColorRGB(*GUIDECOLOR)
			canvas.line(x, self.pagesize[1], x, top)
			canvas.line(x, bottom, x, 0)
			canvas.setStrokeColorRGB(1, 1, 1)
			canvas.line(x, top, x, bottom)
		for iy in range(-1, self.rows):
			y = self.offsety - self.cardh*iy
			canvas.setStrokeColorRGB(*GUIDECOLOR)
			canvas.line(0, y, left, y)
			canvas.line(right, y, self.pagesize[0], y)
			canvas.setStrokeColorRGB(1, 1, 1)
			canvas.line(left, y, right, y) 
Beispiel #42
0
    def render_over(self, x, y, canvas, template):
        column_width = template.size[0] * mm
        row_height = template.size[1] * mm

        color = hex_to_rgb(self.colors[3])
        canvas.setStrokeColorRGB(color[0] / 255.0, color[1] / 255.0,
                                 color[2] / 255.0)
        canvas.line(x - (self.margin0 * mm), y, x - (self.margin1 * mm), y)
        canvas.line(x, y - (self.margin0 * mm), x, y - (self.margin1 * mm))

        color = hex_to_rgb(self.colors[0])
        canvas.setStrokeColorRGB(color[0] / 255.0, color[1] / 255.0,
                                 color[2] / 255.0)
        canvas.line(x - (self.margin0 * mm),
                    y + row_height + (self.margin1 * mm),
                    x - (self.margin1 * mm),
                    y + row_height + (self.margin1 * mm))
        canvas.line(x, y + row_height + (self.margin0 * mm), x,
                    y + row_height + (self.margin1 * mm))

        color = hex_to_rgb(self.colors[2])
        canvas.setStrokeColorRGB(color[0] / 255.0, color[1] / 255.0,
                                 color[2] / 255.0)
        canvas.line(x + column_width + (self.margin1 * mm), y,
                    x + column_width + (self.margin0 * mm), y)
        canvas.line(x + column_width, y - (self.margin0 * mm),
                    x + column_width, y - (self.margin1 * mm))

        color = hex_to_rgb(self.colors[1])
        canvas.setStrokeColorRGB(color[0] / 255.0, color[1] / 255.0,
                                 color[2] / 255.0)
        canvas.line(x + column_width + (self.margin1 * mm),
                    y + row_height + (self.margin1 * mm),
                    x + column_width + (self.margin0 * mm),
                    y + row_height + (self.margin1 * mm))
        canvas.line(x + column_width, y + row_height + (self.margin0 * mm),
                    x + column_width, y + row_height + (self.margin1 * mm))
# 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()
Beispiel #44
0
def genlabels(test=0,
              paper_size_no=0,
              printer='acrobat',
              verbose=0,
              label_content='stdin',
              fold=False,
              file_name=''):
    global xwidth
    global yheight

    global gl_printer
    gl_printer = printer

    global gl_filename
    gl_filename = os.path.normpath('tmp/kitlabels' + str(os.getpid()) +
                                   genranstr() + '.pdf')

    if (file_name != ''):
        gl_filename = file_name

    global gl_verbose
    gl_verbose = verbose

    if test == 2:
        pstderr('Running old gentestlabels()')
        gentestlabels()
        return

    pstderr('-h for help')

    yfix = 0  # needed when printer prefs set to 4x6 and printing labels smaller than same

    #--
    if (paper_size_no == 0):
        # ascertain edges
        pstderr('genlabels() paper_size: letter')
        (xwidth, yheight) = letter
        canvas = canvas_init(gl_filename,
                             pagesize=letter,
                             bottomup=1,
                             verbosity=1)
        margin = .3 * inch
        xorg = yorg = margin

    #--
    elif (paper_size_no == 1):
        pstderr('genlabels() paper_size: 4 x 6 label')
        margin = .0 * inch
        (xwidth, yheight) = (4 * inch, 6 * inch)
        canvas = canvas_init(gl_filename,
                             pagesize=(4 * inch, 6 * inch),
                             bottomup=1,
                             verbosity=1)
        xorg = yorg = margin

    #--
    elif (paper_size_no == 2):
        pstderr('genlabels() paper_size: 2.25 x .125 label')
        margin = .0 * inch
        (xwidth, yheight) = (2.25 * inch, 1.25 * inch)
        canvas = canvas_init(gl_filename,
                             pagesize=(4 * inch, 6 * inch),
                             bottomup=1,
                             verbosity=1)
        yfix = 4.75 * inch  # fudge factor to get little label to top of 6" space  (which is what the label printer driver is set to
        xorg = yorg = margin
        xorg += .80 * inch

    #--
    elif (paper_size_no == 3):
        pstderr('genlabels() paper_size: 3.50 x 1.0 label')
        margin = .0 * inch
        (xwidth, yheight) = (3.50 * inch, 1.00 * inch)
        canvas = canvas_init(gl_filename,
                             pagesize=(4 * inch, 6 * inch),
                             bottomup=1,
                             verbosity=1)
        yfix = 5 * inch
        xorg = yorg = margin
        xorg += .55 * inch

    #--
    else:
        pstderr('unknown paper size: ' + paper_size)
        exit()

    v('genlabels(): xwidth: %f' % (xwidth / inch))

    xwidth -= margin * 2
    yheight -= margin * 2

    canvas.setStrokeColorRGB(.33, .33, .33)
    canvas.setFont('Helvetica', 10)

    if (paper_size_no == 0):
        yrows = 3
        xcols = 2
    else:
        yrows = 1
        xcols = 1

    ystep = yheight / yrows
    xstep = xwidth / xcols

    v('xystep,ystep: %f %f' % (xstep, ystep))

    x = xorg

    i = 0

    page = 0

    if (label_content != 'stdin'):
        tgetl.label_content = label_content

    tgetl.ctr = 0
    while (True):
        if (page != 0):
            canvas.showPage()

        y = yheight - ystep + margin

        v('y: %f yh: %f marg: %f' % (y, yheight, margin))

        for yrowcount in reversed(range(yrows)):
            for xcolcount in reversed(range(xcols)):

                if (test):
                    labelcontentlist = get_labels_worth_of_input_from_data(
                        paper_size_no)
                else:
                    if (label_content == 'stdin'):
                        pstderr('Reading input from stdin')
                        labelcontentlist = get_labels_worth_of_input_from_stdin(
                        )
                    else:
                        labelcontentlist = get_labels_worth_of_input_from_data(
                            -1)

                if (labelcontentlist[0] == '..'):
                    genlabeldone(canvas)
                    return

                v('labelcontentlist[0]: [%s]' % (labelcontentlist[0]))
                v('genkitlabel(x=%f,y=%f,xstep=%f,ystep=%f)' %
                  (x, y, xstep, ystep))

                flip = False
                last_line = genkitlabel(canvas, x, y + yfix, xstep, ystep,
                                        labelcontentlist, 0, paper_size_no)

                if (last_line == '..'):
                    genlabeldone(canvas)
                    return

                x += xstep

            x = xorg
            y -= ystep
        page += 1
def drawPdf(canvas, donor):
    donor_name = donor.replace('_', ' ')

    canvas.saveState()
    headboxh = 80
    headboxx = 20
    headboxy = 695
    headboxw = 570
    footboxh = 65
    footboxx = 20
    footboxy = 20
    footboxw = 570

    # aiddata logo
    logouri = "assets/images/aiddata_main_wht.png"
    mapuri = "donors/" + donor + "/map.png"
    influenceuri = "donors/" + donor + "/influence.png"
    adviceuri = "donors/" + donor + "/advice.png"
    advicelegenduri = "assets/images/bubble_legend.png"
    compuri = "donors/" + donor + "/comp.png"
    comp2uri = "donors/" + donor + "/comp2.png"

    # blue header
    canvas.setFillColorRGB(.086, .121, .203)
    canvas.rect(headboxx, headboxy, headboxw, headboxh, fill=1)
    canvas.saveState()
    canvas.setFillColor(colors.white)
    canvas.setFont('Open Sans', 20)
    canvas.drawString(headboxx + 160, headboxy + .425 * headboxh, "Development Partner Profile")

    # green header
    headboxh = 30
    headboxx = 20
    headboxy = 665
    headboxw = 570
    canvas.setFillColorRGB(.461, .711, .340)
    canvas.rect(headboxx, headboxy, headboxw, headboxh, fill=1)
    canvas.saveState()
    canvas.setFillColor(colors.white)
    canvas.setFont('Open Sans', 18)
    donor_year = donor_name + " 2015"
    textWidth = stringWidth(donor_year, "Open Sans", 18)
    canvas.drawString(headboxx + headboxw - (textWidth + 10), headboxy + .30 * headboxh, donor_name + " 2015")

    # add logo
    logo = ImageReader(logouri)
    canvas.drawImage(logo, 30, 700, 120, 68,preserveAspectRatio=True, mask='auto')


    # add map
    canvas.setFont('Open Sans', 12)
    canvas.setFillColor(colors.black)
    title_str = "Distribution of " + donor_name + "'s"
    textWidth = stringWidth(title_str, "Open Sans", 12)
    pl = (PAGEWIDTH / 2) - (textWidth / 2)
    canvas.drawString(pl, 650, title_str)
    title_str = "Official Development Assistance(ODA) 2004-2013"
    textWidth = stringWidth(title_str, "Open Sans", 12)
    pl = (PAGEWIDTH / 2) - (textWidth / 2)
    canvas.drawString(pl, 638, title_str)
    map = ImageReader(mapuri)
    canvas.drawImage(map, 75, 305, 450, 350, mask='auto')

    # add influence chart
    canvas.setFont('Open Sans', 12)
    canvas.setFillColor(colors.black)
    title_str = "Three Aspects of " + donor_name + "'s Performance in the Countries It Influences Most"
    textWidth = stringWidth(title_str, "Open Sans", 12)
    pl = (PAGEWIDTH / 2) - (textWidth / 2)
    canvas.drawString(pl, 310, title_str)
    influence = ImageReader(influenceuri)
    canvas.drawImage(influence, 80, 20, 450, 275, mask='auto')

    # move to next page
    canvas.showPage()

    # add advice chart
    canvas.setFont('Open Sans', 12)
    canvas.setFillColor(colors.black)
    title_str = "Usefulness of Advice, Volume of ODA and Agenda-Setting Influence, by Policy Area"
    textWidth = stringWidth(title_str, "Open Sans", 12)
    pl = (PAGEWIDTH / 2) - (textWidth / 2)
    canvas.drawString(pl, 750, title_str)
    advice = ImageReader(adviceuri)
    canvas.drawImage(advice, 75, 530, 350, 200, mask='auto')
    advicelegend = ImageReader(advicelegenduri)
    canvas.drawImage(advicelegend, 450, 545,150,200, mask='auto')

    # add advice comp chart
    canvas.setFillColor(colors.black)
    title_str = "<para align='center'><font color='black' fontName='Open Sans' size=12>Usefulness of " + donor_name + "'s Advice Compared to the Average</font></para>"
    canvas.setFont('Open Sans', 6)
    comp_title_para = Paragraph(title_str, getSampleStyleSheet()["Normal"])
    comp_title_para.wrapOn(canvas, 320, 200)
    comp_title_para.drawOn(canvas, 30, 500)
    legend_y = 487
    stroke_length = 30
    green_stroke_pos = 50
    red_stroke_pos = 200
    offset = 10
    canvas.setStrokeColorRGB(.461, .711, .340)
    canvas.line(green_stroke_pos, legend_y + 2, green_stroke_pos + stroke_length, legend_y + 2)
    canvas.setStrokeColorRGB(.890, .118, .118)
    canvas.line(red_stroke_pos, legend_y + 2, red_stroke_pos + stroke_length, legend_y + 2)
    key_str1 = "All Other Development Partners"
    canvas.drawString(green_stroke_pos + stroke_length + offset, legend_y, key_str1)
    canvas.drawString(red_stroke_pos + stroke_length + offset , legend_y, donor_name)
    comp = ImageReader(compuri)
    comp_x = 85
    comp_width = 175
    comp_y = 280
    comp_height = -80
    canvas.drawImage(comp, comp_x, comp_y, comp_x + comp_width, comp_y + comp_height, mask='auto')


    # add comp2 chart
    title_str = "<para align='center'><font color='black' fontName='Open Sans' size=12>Three Dimensions of  " + \
            donor_name + "'s Performance Compared to Other Development Partners</font></para>"
    margin = 10
    comp2_title_para = Paragraph(title_str, getSampleStyleSheet()["Normal"])
    comp2_title_para.wrapOn(canvas, PAGEWIDTH - 2*margin, 200)
    comp2_title_para.drawOn(canvas, margin, 250)
    comp2 = ImageReader(comp2uri)
    canvas.drawImage(comp2, 45, 110, 525, 125, mask='auto')


    # blue footer
    canvas.setStrokeColorRGB(.086, .121, .203)
    canvas.setFillColorRGB(.086, .121, .203)
    canvas.rect(footboxx, footboxy, footboxw, footboxh, fill=1)
    canvas.saveState()
    canvas.setFillColor(colors.white)

    # add logo
    logo = ImageReader(logouri)
    canvas.drawImage(logo, 475, 18, 120, 68, preserveAspectRatio=True, mask='auto')
    
    #add footer info
    datastr1 = "<font color='white' fontName='Open Sans' size=7><b>Perceptions Data Availibility</b><br/></font> \
    <font color='white' fontName='Open Sans' size=6>Source: 2014 Reform Efforts Survey<br/> \
    Number of Policy Domains:20<br/> \
    Number of Respondents:<br/> \
     1. Embasssies: 84<br/> \
     2. GIZ: 36<br/> \
     3. KfW: 19<br/></font>"
    
    style = getSampleStyleSheet()['Normal']
    style.leading = 7 
    pData1 = Paragraph(datastr1, style)
    pData1.wrapOn(canvas, 350, 400)
    pData1.drawOn(canvas, 25, 30)
    
    datastr2 = "<font color='white' fontName='Open Sans' size=7><b>Financial Data Availability</b><br/></font> \
    <font color='white' fontName='Open Sans' size=6>Source: AidData Core Database, 2004-2013<br/> \
    Number of Recipients:12<br/> \
    Total Projects: 245<br/> \
    Total Commitments (USD 2011): $21.3 million<br/></font>"
    
    pData2 = Paragraph(datastr2, style)
    pData2.wrapOn(canvas, 150, 400)
    pData2.drawOn(canvas, 180, 45)

    
    # problem type ranking
    canvas.setFillColor(colors.black)
    title_str = "<font color='black' fontName='Open Sans' size=12>"+ donor_name + "'s Influence in Designing\nReforms for Different Problem Types</font>"
    rank_title_para = Paragraph(title_str, getSampleStyleSheet()["Normal"])
    rank_title_para.wrapOn(canvas, 190, 100)
    rank_title_para.drawOn(canvas, 380, 490)

	#set dnr to first element, and find the correct one
    dnr = data[0]
    for d in data:
        if str(d["NameofDonor"]) == donor:
            dnr = d
            break

    ptype = copy.deepcopy(problem_type)
    for prob in ptype:
        prob["score"] = dnr["Q22_" + prob["Code"]]

    ptype = filter(lambda x: x["score"] != "", ptype) # get rid of no data

    for prob in ptype:
        prob["score"] = float(prob["score"])

    ptype = sorted(ptype, key=lambda p: p["score"])

    if len(ptype) != 0:
        num = int(min(math.ceil(float(len(ptype)) / 2), 3))
        top = [None] * num
        bottom = [None] * num
        for i in range(0, num):
            top[i] = ptype[-1 * (i + 1)]
            bottom[i] = ptype[i]

        top_str = """
            <font color='green' size=12><b>More Influential</b></font><br/>
        """
        bottom_str = """
            <font color='red' size=12><b>Less Influential</b></font><br/>
        """
        for i, pt in enumerate(top):
            top_str += "<font color='green' fontName='Open Sans' size=8>" + \
                "%d. " % (i + 1) + pt["ProblemTypeLong"] + " ({0:.2f})".format(pt["score"]) + "<br/>" + \
            "</font>"
        for i, pt in enumerate(bottom):
            bottom_str += "<font color='red' fontname='Open Sans' size=8>" + \
                "%d. " % (i + 1) + pt["ProblemTypeLong"] + " ({0:.2f})".format(pt["score"]) + "<br/>" + \
            "</font>"

        pTop = Paragraph(top_str, getSampleStyleSheet()["Normal"])
        pTop.wrapOn(canvas, 160, 400)
        pTop.drawOn(canvas, 380, 380)

        pBottom = Paragraph(bottom_str, getSampleStyleSheet()["Normal"])
        pBottom.wrapOn(canvas, 160, 400)
        pBottom.drawOn(canvas, 380, 280)

    return canvas
Beispiel #46
0
def genlabels(test=0,paper_size_no=0,printer='acrobat',verbose=0,label_content='stdin',fold=False,file_name=''):
  global xwidth
  global yheight

  global gl_printer
  gl_printer = printer


  global gl_filename
  gl_filename = os.path.normpath( 'tmp/kitlabels' + str(os.getpid()) + genranstr() + '.pdf' )

  if (file_name != ''):
    gl_filename = file_name

  global gl_verbose
  gl_verbose = verbose

  if test == 2:
    pstderr('Running old gentestlabels()')
    gentestlabels()
    return

  pstderr('-h for help')

  yfix = 0 # needed when printer prefs set to 4x6 and printing labels smaller than same 
  
  #--
  if (paper_size_no == 0):
    # ascertain edges
    pstderr('genlabels() paper_size: letter')
    (xwidth, yheight) = letter
    canvas = canvas_init(gl_filename,pagesize=letter,bottomup=1,verbosity=1)
    margin = .3*inch
    xorg = yorg = margin

  #--
  elif (paper_size_no == 1):
    pstderr('genlabels() paper_size: 4 x 6 label')
    margin = .0*inch
    (xwidth , yheight) = (4*inch,6*inch)
    canvas = canvas_init(gl_filename,pagesize=(4*inch,6*inch),bottomup=1,verbosity=1)
    xorg = yorg = margin

  #--
  elif (paper_size_no == 2):
    pstderr('genlabels() paper_size: 2.25 x .125 label')
    margin = .0*inch
    (xwidth , yheight) = (2.25*inch,1.25*inch)
    canvas = canvas_init(gl_filename,pagesize=(4*inch,6*inch),bottomup=1,verbosity=1)
    yfix = 4.75*inch # fudge factor to get little label to top of 6" space  (which is what the label printer driver is set to
    xorg = yorg = margin
    xorg += .80*inch
  
  #--
  elif (paper_size_no == 3):
    pstderr('genlabels() paper_size: 3.50 x 1.0 label')
    margin = .0*inch
    (xwidth , yheight) = (3.50*inch,1.00*inch)
    canvas = canvas_init(gl_filename,pagesize=(4*inch,6*inch),bottomup=1,verbosity=1)
    yfix = 5*inch
    xorg = yorg = margin
    xorg += .55*inch
  
  #--
  else:
    pstderr('unknown paper size: ' + paper_size)
    exit()

  v('genlabels(): xwidth: %f' % (xwidth/inch))

  xwidth -= margin*2
  yheight -= margin*2


  canvas.setStrokeColorRGB(.33,.33,.33)
  canvas.setFont('Helvetica',10)

  if (paper_size_no == 0):
    yrows = 3
    xcols = 2
  else:
    yrows = 1
    xcols = 1

  ystep = yheight/yrows
  xstep = xwidth/xcols

  v('xystep,ystep: %f %f' % (xstep,ystep) )

  x = xorg

  i = 0

  page = 0

  if (label_content != 'stdin'):
    tgetl.label_content = label_content

  tgetl.ctr = 0
  while(True):
    if (page != 0):
      canvas.showPage()

    y = yheight-ystep+margin

    v('y: %f yh: %f marg: %f' % (y,yheight,margin)) 

    for yrowcount in reversed(range(yrows)):
      for xcolcount in reversed(range(xcols)):

        if (test):
          labelcontentlist = get_labels_worth_of_input_from_data(paper_size_no)
        else:
          if (label_content == 'stdin'):
            pstderr('Reading input from stdin')
            labelcontentlist = get_labels_worth_of_input_from_stdin()
          else:
            labelcontentlist = get_labels_worth_of_input_from_data(-1)

        if (labelcontentlist[0] == '..'):
          genlabeldone(canvas)
          return

        v('labelcontentlist[0]: [%s]' % (labelcontentlist[0]))
        v('genkitlabel(x=%f,y=%f,xstep=%f,ystep=%f)' % (x, y,xstep,ystep))

        flip = False
        last_line = genkitlabel(canvas    , x , y+yfix, xstep, ystep, labelcontentlist, 0, paper_size_no)

        if (last_line == '..'):
          genlabeldone(canvas)
          return

        x += xstep

      x = xorg
      y -= ystep
    page += 1
Beispiel #47
0
    def myFirstPage(canvas, doc):
        PAGE_HEIGHT,PAGE_WIDTH = letter
        canvas.saveState()
        canvas.drawImage(fondo, 0,0, PAGE_HEIGHT, PAGE_WIDTH )
        canvas.setStrokeColorRGB(1,0,1,alpha=0.1)
        #canvas.setPageSize(landscape(letter))
        canvas.setFont('Tahoma-Bold', 8)

        cuenta_cobro.tipo_contrato = textwrap.fill(cuenta_cobro.tipo_contrato, 22)
        textobject = canvas.beginText()
        textobject.setTextOrigin(205, 638)
        textobject.textLines(cuenta_cobro.tipo_contrato)
        canvas.drawText(textobject)

        #canvas.drawCentredString(260,638, cuenta_cobro.tipo_contrato)

        canvas.drawString(205,607, cuenta_cobro.no_contrato)
        canvas.drawString(202,661, cuenta_cobro.fecha_transaccion)
        canvas.drawCentredString(445, 274, cuenta_cobro.saldo_pendiente_fecha)
        canvas.drawCentredString(497,523, cuenta_cobro.no_bp)
        canvas.drawCentredString(262,522, cuenta_cobro.vigencia_presupuestal)
        canvas.drawCentredString(497, 491, cuenta_cobro.documento_beneficiario)
        canvas.drawCentredString(267, 300, cuenta_cobro.valor_contrato)
        canvas.drawCentredString(500, 300, cuenta_cobro.valor_concepto)

        canvas.drawCentredString(263, 360, cuenta_cobro.no_cdp)
        canvas.drawCentredString(497, 360, cuenta_cobro.no_rpc)
        canvas.drawCentredString(260, 400, cuenta_cobro.fecha_inicio)
        canvas.drawCentredString(495, 400, cuenta_cobro.fecha_fin)
        canvas.drawCentredString(432, 460, cuenta_cobro.fecha_fin)
        canvas.drawCentredString(432, 430, cuenta_cobro.nombre_interventor)
        canvas.drawCentredString(432, 328, cuenta_cobro.periodo_facturado)
        #canvas.drawCentredString(432, 327, cuenta_cobro.periodo) # "SEGUNDA CUOTA
        #canvas.drawCentredString(495, 621, cuenta_cobro.num_cuota)

        canvas.drawString(326, 84, cuenta_cobro.nombre_interventor)
        canvas.drawString(326, 73, "C.C. %s" %  cuenta_cobro.documento_interventor)

        canvas.drawString(81, 84, cuenta_cobro.nombre_beneficiario)
        canvas.drawString(81, 73, "C.C. %s" % cuenta_cobro.documento_beneficiario)

        cuenta_cobro.nombre_beneficiario = textwrap.fill(cuenta_cobro.nombre_beneficiario, 20)
        textobject = canvas.beginText()
        textobject.setTextOrigin(210, 500)
        textobject.textLines(cuenta_cobro.nombre_beneficiario)
        canvas.drawText(textobject)

        s = '''
         EL DIA {} SE REUNIERON EL INTERVENTOR Y/O SUPERVISOR DEL CONTRATO {} {}
         DE LA SECRETARIA DE DESARROLLO TERRITORIAL Y BIENESTAR SOCIAL, Y EL CONTRATISTA {},
         IDENTIFICADO CON CEDULA DE CIUDADANIA NUMERO {} CON EL FIN DE FIRMAR EL ACTA
         FINAL QUE AUTORIZA EL PAGO CORRESPONDIENTE AL CONTRATO NUMERO {} Y DEJAR CONSTANCIA DEL
         CUMPLIMIENTO DEL OBJETO DEL CONTRATO HASTA LA FECHA.
        '''.format(cuenta_cobro.fecha_transaccion, cuenta_cobro.nombre_interventor,
                   cuenta_cobro.cargo_interventor, cuenta_cobro.nombre_beneficiario,
                   cuenta_cobro.documento_beneficiario, cuenta_cobro.no_contrato )

        s = textwrap.fill(s, 110)

        textobject = canvas.beginText()
        textobject.setFont("Tahoma", 8)
        textobject.setTextOrigin(82, 249)
        textobject.textLines(s)
        canvas.drawText(textobject)

        cuenta_cobro.objeto_contrato = textwrap.fill(cuenta_cobro.objeto_contrato, 100)

        textobject = canvas.beginText()
        textobject.setTextOrigin(83, 588)
        textobject.textLines(cuenta_cobro.objeto_contrato)
        canvas.drawText(textobject)


        SHOW_GRID = False
        if SHOW_GRID:
             n = 5
             s = 200
             #canvas.setStrokeGray(0.90)
             #canvas.setFillGray(0.90)
             canvas.setStrokeColorRGB(0,1,1,alpha=0.1)

             canvas.setFillColorRGB(1,0,1)
             canvas.setFont('Arial',1)
             for x in range(s):
                for y in range(s):
                   canvas.rect(x*n,y*n, width=n, height=n, stroke=1)
                   canvas.drawString(x*n,y*n,"%s,%s" % ((x*n),(y*n)) )
        canvas.restoreState()
Beispiel #48
0
def genkitlabel(canvas, xa, ya, xw, yh, contentlist, test=0, paper_size_no=0):
    """
    """
    v('[------genkitlabel()')
    x = xa
    y = ya
    m = .05 * inch
    h = yh  # calc height
    h -= m * 2  # height - margin
    w = xw  # calc width
    w -= m * 2  # width - margin

    v('genkitlabel() ------')
    v('genkitlabel() xa,ya,xw,yh: %f %f %f %f' % (xa, ya, xw, yh))
    v('genkitlabel() m h w : %f %f %f' % (m, h, w))

    xo = yo = m  # origin
    canvas.setLineWidth(.01 * inch)
    canvas.setStrokeColorRGB(.75, .75, .75)

    global xwidth
    if (not (xwidth / inch <= 3.50)):
        cutmark(canvas, x, y, 1, 1)
        cutmark(canvas, x + xw, y + yh, -1, -1)
        cutmark(canvas, x, y + yh, 1, -1)
        cutmark(canvas, x + xw, y, -1, 1)

    didlogo = False

    yloc = y + h

    image_size = 1.2 * inch
    logo_yloc = yloc - image_size + .2 * inch

    yrel = 0

    for line in contentlist:
        if (line == '..' or line == '.'):
            flip = False
            break
        v('genkitlabel(): line:%s' % (line))
        token = line.split()
        if len(token) <= 0:
            continue

        dowhat = token[0].upper()

        #---
        global flip
        if (dowhat == 'FLIP'):
            flip = True

        elif (dowhat == 'LOGO'):
            v('LOGO')
            if (len(token) == 1):
                # no arg print logo
                if (paper_size_no == 3):
                    image_size = 1 * inch
                    canvas.drawImage('logo512x512.png',
                                     x + m - .75 * inch,
                                     logo_yloc,
                                     image_size,
                                     image_size,
                                     preserveAspectRatio=True)
                else:
                    canvas.drawImage('logo512x512.png',
                                     x + m + .1 * inch + 2.4 * inch,
                                     logo_yloc,
                                     image_size,
                                     image_size,
                                     preserveAspectRatio=True)
            else:
                # print arg
                arg = token[1]
                if (len(arg) == 1):
                    # character. make it big
                    if flip:
                        # They said 'LOGO X', so we draw big fat X where the logo should be
                        canvas.saveState()
                        canvas.translate(x + m + .3 * inch,
                                         logo_yloc + 1 * inch)
                        canvas.scale(-1, -1)

                        canvas.setFont('Helvetica-Bold', 70)
                        canvas.drawString(0, 0, token[1])

                        canvas.restoreState()
                    else:
                        # They said 'LOGO X', so we draw big fat X where the logo should be
                        canvas.setFont('Helvetica-Bold', 70)
                        canvas.drawString(x + m - .45 * inch,
                                          logo_yloc + .2 * inch, token[1])
                else:
                    # Multiple characters
                    if flip:
                        # They said 'LOGO X', so we draw big fat X where the logo should be
                        canvas.saveState()
                        canvas.translate(x + m + .3 * inch,
                                         logo_yloc + 1 * inch)
                        canvas.scale(-1, -1)

                        canvas.setFont('Helvetica-Bold', 20)
                        canvas.drawString(.5 * inch, .55 * inch, arg[0])
                        canvas.drawString(.5 * inch, .30 * inch, arg[1])
                        canvas.drawString(.5 * inch, .05 * inch, arg[2])

                        canvas.restoreState()
                    else:
                        # They said 'LOGO X', so we draw big fat X where the logo should be
                        canvas.setFont('Helvetica-Bold', 20)
                        canvas.drawString(x + m - .45 * inch,
                                          logo_yloc + .80 * inch, arg[0])
                        canvas.drawString(x + m - .45 * inch,
                                          logo_yloc + .55 * inch, arg[1])
                        canvas.drawString(x + m - .45 * inch,
                                          logo_yloc + .30 * inch, arg[2])

        #---
        elif (dowhat == 'BARCODE'):
            yloc = render_barcode(canvas, x, yloc, token[1],
                                  ' '.join(token[2:]))
            v('genkitlabel(): yloc now: %f' % (yloc))

        #---
        elif (dowhat == 'KEYVAL'):
            v('KEYVAL Width : ')
            yloc = render_key_and_value(canvas, x + m + .350 * inch, yloc,
                                        token[1], ' '.join(token[2:]))
            #yinc = .150*inch
        ##
        ##

    v('genkitlabel() --- line:' + line)

    return line
Beispiel #49
0
	def myFirstPage(self,canvas, doc):
		canvas.saveState()
		canvas.drawImage(STATICFILES_DIRS[0]+'escudo_transito.jpg',35, PAGE_HEIGHT-115)
		canvas.setLineWidth(1)
		canvas.line(10, 723, 600,723)
		canvas.setFont('Times-Roman',8)
		canvas.drawString(10,PAGE_HEIGHT-130, "MUNICIPIO DE LEON GUANAJUATO")
		canvas.drawString(10,PAGE_HEIGHT-142, "SECRETARIA DE SEGURIDAD PUBLICA")
		canvas.drawString(420,PAGE_HEIGHT-142, "ACTA DE INFRACCION No T.")
		
		canvas.setFillColorRGB(1,0,0)
		canvas.setFontSize(18)
		
		folio=self.data.get('folio_infraccion',"")
		
		canvas.drawString(530,PAGE_HEIGHT-142, folio)
		canvas.setFontSize(10)
		canvas.setFillColorRGB(0,0,0)
		

		canvas.drawString(10,PAGE_HEIGHT-154, "DIRECCION GENERAL DE TRANSITO MUNICIPAL")
		canvas.setFont('Times-Roman',7.5)
		fundamento='Con fundamento en los artículos 16 de la  Constitución Política de los Estados Unidos '
		fundamento=fundamento + '  Mexicanos 4 de la Ley Orgánica Municipal para el Estado de Guanajuato1,2,3,4,fracción 1X 42,44 y 47 del'
		canvas.drawString(10,PAGE_HEIGHT-178, fundamento)
		canvas.drawString(10,PAGE_HEIGHT-190, "reglamento de Tránsito Municipal de Léon,  Guanajuato se procede a levantar la presente.")
		canvas.drawString(330,PAGE_HEIGHT-190, "ACTA DE INFRACCION")
		#canvas.setFillColorRGB(0,0,0)
		#canvas.setFillColorCMYK(1,1,0,0)
		canvas.rect(10, 600, 583, 35)
		canvas.drawString(12,PAGE_HEIGHT -213, "EN LEON. Guanajuato, el suscrito")
		canvas.setFont('Times-Bold',7)

		canvas.drawString(170,PAGE_HEIGHT -213, "AGENTE")
		canvas.setFont('Times-Roman',7.5)																																																																																																																																																																																																																																																										
		canvas.drawString(250,PAGE_HEIGHT -213, "de nombre")
		canvas.setStrokeColorRGB(0,0,0)
		canvas.setLineWidth(1)
		canvas.line(300, 627, 430,627)
		canvas.setFont('Times-Bold',7)
		nombre=self.data.get('nombreAgente',"")
		canvas.drawString(300,PAGE_HEIGHT -213, nombre)
		canvas.setFont('Times-Roman',7.5)
		canvas.drawString(525,PAGE_HEIGHT -213, "adscrito a la")
		canvas.setFont('Times-Bold',7.5)

		canvas.drawString(12,PAGE_HEIGHT -222, "PRIMERA COMANDANCIA")
		canvas.drawString(130,PAGE_HEIGHT -222, "TURNO A")
		canvas.drawString(180,PAGE_HEIGHT -222, "DELEGACION PONIENTE")
		canvas.setFont('Times-Roman',7.5)

		canvas.drawString(280,PAGE_HEIGHT -222, " de la Direccion de Transito municipal de Leon  Guanajuato como consta en la ")
		canvas.setFont('Times-Bold',7.5)
		
		canvas.drawString(525,PAGE_HEIGHT -222, "CREDENCIAL")
		cobro=self.data.get('noCobro',"")
		canvas.drawString(12,PAGE_HEIGHT -231, str(cobro))
		canvas.setLineWidth(1)
		canvas.line(12, 609, 40,609)
		canvas.setFont('Times-Roman',7.5)

		canvas.drawString(45,PAGE_HEIGHT -231, "expedida por el titular de la Dependencia Municipal. con la cual me identifica. Siendo las")
		canvas.setFont('Times-Bold',7.5)
		hora=self.data.get('hora_infrac',"")

		canvas.drawString(318,PAGE_HEIGHT -231, hora)
		canvas.setLineWidth(1)
		canvas.line(318, 609, 337,609)
		canvas.setFont('Times-Roman',7.5)

		canvas.drawString(350,PAGE_HEIGHT -231, "Horas del dia")
		canvas.setFont('Times-Bold',7.5)
		canvas.drawString(398,PAGE_HEIGHT -231, "24")
		canvas.setLineWidth(1)
		canvas.line(395, 609, 407,609)
		canvas.setFont('Times-Roman',7)

		canvas.drawString(413,PAGE_HEIGHT -231, "del mes de")
		canvas.setFont('Times-Bold',7)

		canvas.drawString(453,PAGE_HEIGHT -231, "OCTUBRE")
		canvas.setLineWidth(1)
		canvas.line(450, 609, 493,609)
		canvas.setFont('Times-Roman',7.5)

		canvas.drawString(495,PAGE_HEIGHT -231, "Del año")
		canvas.setFont('Times-Bold',7.5)

		canvas.drawString(525,PAGE_HEIGHT -231, "2013")
		canvas.setFont('Times-Roman',7.5)

		canvas.drawString(12,PAGE_HEIGHT -240, "Hago constar que el conductor de vehiculo cuyos  datos se especifican a continuacion:")
		canvas.rect(10, 575, 585, 10)
		canvas.rect(10, 495, 585, 80)
		canvas.setLineWidth(1)
		canvas.line(10, 565, 595,565)
		canvas.line(10, 555, 595,555)
		canvas.line(10, 545, 595,545)
		canvas.line(10, 535, 595,535)
		canvas.line(10, 525, 595,525)
		canvas.line(10, 515, 595,515)
		canvas.line(10, 505, 595,505)
		canvas.line(295, 495, 295,585)
		canvas.drawString(135,PAGE_HEIGHT -265, "Datos Personales")
		canvas.drawString(395,PAGE_HEIGHT -265, "Caracteristicas de Vehiculo")
		canvas.drawString(300,PAGE_HEIGHT -275, "Marca:")
		canvas.setFont('Times-Bold',7)
		

		self.LabelVehiculo(canvas)
		self.LabelConductor(canvas)
		vehiculo=self.data.get('vehiculo',"")
		if vehiculo !="":
			mar=vehiculo.get('marca',"")
			canvas.drawString(330,PAGE_HEIGHT -275,  mar)
			vehiculo=self.data.get('vehiculo',"")
			sub=vehiculo.get('submarca',"")
			canvas.drawString(500,PAGE_HEIGHT -275, sub)
			#canvas.drawString(500,PAGE_HEIGHT -275, "PICK UP")
			canvas.setFont('Times-Roman',7)
			#canvas.drawString(500,PAGE_HEIGHT -275, "Camioneta")
			canvas.setFont('Times-Bold',7)
			modelo=vehiculo.get('modelo',"")
			canvas.drawString(340,PAGE_HEIGHT -285, modelo)
			canvas.setFont('Times-Roman',7)

			canvas.setFont('Times-Bold',7)
			color=vehiculo.get('color',"")
			canvas.drawString(470,PAGE_HEIGHT -285, color)
			canvas.setFont('Times-Roman',7)

			canvas.setFont('Times-Bold',7)
			placas=vehiculo.get('placas',"")
			canvas.drawString(340,PAGE_HEIGHT -295, placas)
			canvas.setFont('Times-Roman',7)

			
			canvas.setFont('Times-Bold',7)
			serie=vehiculo.get('serie',"")
			canvas.drawString(470,PAGE_HEIGHT -295, serie)
			canvas.setFont('Times-Roman',7)

			
			canvas.setFont('Times-Bold',7)
			empresa=vehiculo.get('empresa',"")
			canvas.drawString(360,PAGE_HEIGHT -305, empresa)
			canvas.setFont('Times-Roman',7)

			
			canvas.setFont('Times-Bold',7)
			tipo_vehiculo=vehiculo.get('tipo_vehiculo',"")
			canvas.drawString(500,PAGE_HEIGHT -305, tipo_vehiculo)
			canvas.setFont('Times-Roman',7)

			
			canvas.setFont('Times-Bold',7)
			estado=vehiculo.get('estado',"")
			canvas.drawString(53,PAGE_HEIGHT -325, estado)

			
			canvas.setFont('Times-Bold',7)
			empresa=vehiculo.get('empresa',"")
			canvas.drawString(360,PAGE_HEIGHT -325, empresa)
			
			canvas.setFont('Times-Roman',7)
			
			canvas.setFont('Times-Bold',7)
			ruta=vehiculo.get('ruta','')
			canvas.drawString(500,PAGE_HEIGHT -325, ruta)

			canvas.setFont('Times-Roman',7)
			
			canvas.setFont('Times-Bold',7)
			sub=vehiculo.get('no_economico',"")
			canvas.drawString(370,PAGE_HEIGHT -335, sub)

			canvas.setFont('Times-Roman',7)
			
			canvas.setFont('Times-Bold',7)
			no_tarjeton=vehiculo.get('no_tarjeton',"")
			canvas.drawString(400,PAGE_HEIGHT -345, no_tarjeton)


		infractor=self.data.get('infractor',"")
		if infractor !="":
			
			canvas.setFont('Times-Bold',7)
			nombre=infractor.get('nombre',"")
			canvas.drawString(57,PAGE_HEIGHT -285, nombre)
			canvas.setFont('Times-Roman',7)

			
			canvas.setFont('Times-Bold',7)
			edad=infractor.get('edad',"")
			canvas.drawString(57,PAGE_HEIGHT -295, edad)

			canvas.setFont('Times-Roman',7)
			
			canvas.setFont('Times-Bold',7)
			sexo=infractor.get('sexo',"")
			canvas.drawString(170,PAGE_HEIGHT -295, sexo)

			
			canvas.setFont('Times-Bold',7)
			domicilio=infractor.get('domicilio',"")
			canvas.drawString(53,PAGE_HEIGHT -305, domicilio)
			canvas.setFont('Times-Roman',7)

			
			canvas.setFont('Times-Bold',7)
			sub=infractor.get('colonia',"")
			canvas.drawString(53,PAGE_HEIGHT -315, sub)

			canvas.setFont('Times-Roman',7)
			
			canvas.setFont('Times-Bold',7)

			ciudad=infractor.get('ciudad',"")
			canvas.drawString(170,PAGE_HEIGHT -325, ciudad)
			canvas.setFont('Times-Roman',7)
			
			canvas.setFont('Times-Bold',7)
			no_licencia=infractor.get('no_licencia',"")
			canvas.drawString(120,PAGE_HEIGHT -335, no_licencia)
		
		

		
		

		
		"""
	

		## ESTO DEBE DE ESTAR EN ALGUN LADO
		tipo_servicio=self.data.get('tipo_servicio',"")
		canvas.drawString(395,PAGE_HEIGHT -315, tipo_servicio)
		canvas.setFont('Times-Roman',7)

		canvas.setFont('Times-Roman',7)
		canvas.drawString(12,PAGE_HEIGHT -345, "Tipo de Operativo:")
		canvas.setFont('Times-Bold',7)
		sub=self.data.get('tipo_operativo',"")
		canvas.drawString(100,PAGE_HEIGHT -345, sub)

		canvas.setFont('Times-Roman',7)
		canvas.drawString(12,PAGE_HEIGHT -355, "Quien en estos Momentos")
		canvas.setFont('Times-Bold',7)
		sub=self.data.get('firmo',"")
		canvas.drawString(100,PAGE_HEIGHT -355, sub)

		canvas.setFont('Times-Roman',7)
		canvas.drawString(116,PAGE_HEIGHT -355, "se encuentra presente, cometio flagrantemente infraccion a los articulo(s) que se detalla(n) a continuacion")
		canvas.setLineWidth(2)
		##canvas.rect(10, 440, 585, 35)
		canvas.setLineWidth(1)
		
		canvas.line(180, 440, 180,476)
		canvas.drawString(12,PAGE_HEIGHT -374, "Reglamento de Transito para")
		canvas.drawString(12,PAGE_HEIGHT -380, "el municipio de Leon, Guanajuato")
		canvas.drawString(190,PAGE_HEIGHT -378, "Descripcion de los Motivos de la infraccion")
		canvas.setFont('Times-Roman',7)
		
		canvas.setFont('Times-Bold',7)
		dy=585

		canvas.rect(10, dy, 585, 45)

		canvas.drawString(12,PAGE_HEIGHT -dy, " Hechos que ocurrieron en:")
		canvas.setFont('Times-Bold',7)
		
		calle=self.data.get('calle1',"")
		canvas.drawString(200,PAGE_HEIGHT -dy, calle)
		
		canvas.line(190, dy-1, 315,dy-1)
		canvas.setFont('Times-Roman',7)

		canvas.drawString(395,PAGE_HEIGHT -dy, "Con circulacion de:")
		canvas.setFont('Times-Bold',7)
		bar=self.data.get('circulacion',"")
		canvas.drawString(475,PAGE_HEIGHT -dy, bar)

		canvas.setFont('Times-Roman',7)

		canvas.drawString(200,PAGE_HEIGHT -(dy+9), " Calle BOULEVARD / AVENIDA")

		canvas.setFont('Times-Bold',7)
		bar=self.data.get('colonia',"")
		dy=dy+19

		canvas.drawString(73,PAGE_HEIGHT -dy, bar)
		canvas.line(29, dy-40, 150,dy-40)
		canvas.setFont('Times-Roman',7)

		canvas.drawString(190,PAGE_HEIGHT -dy, "Referencia")
		canvas.setFont('Times-Bold',7)
		bar=self.data.get('referencia',"")

		canvas.drawString(320,PAGE_HEIGHT -dy, bar)

		canvas.line(250, dy-40, 400,dy-40)
		canvas.setFont('Times-Roman',7)

		canvas.drawString(23,PAGE_HEIGHT-450, "FRACCIONAMIENTO COLONIA COMUNIDAD")
		canvas.drawString(250,PAGE_HEIGHT-450, "SENALAR FRENTE A QUE NUMERO ENTRE QUE CALLE U OTRO PUNTO DE REFERENCIA")
		canvas.drawString(12,PAGE_HEIGHT-455, "Ubicacion de senalamiento vial (en los casos que proceda)")
		
		
		canvas.drawString(12,PAGE_HEIGHT-480, "Con fundamento en lo dispuesto por el articulo 44 del reglamento de Transito Municipalde Leon Guanajuato para garantizar el cumplimiento de la sancion administrativa que")
		
		canvas.drawString(12,PAGE_HEIGHT -490, "en su caso se proceda, SE RETIENE AL INFRACTOR:")
		se_recoje=self.data.get('se_recoje',"")
		if se_recoje.get('tipo',"") == 'PLACAS':
			canvas.drawString(45,PAGE_HEIGHT -498, "X")	
		canvas.drawString(12,PAGE_HEIGHT -498, "PLACAS  (  )")

		if se_recoje.get('tipo',"") == 'TARJETA DE CIRCULACION':
			canvas.drawString(190,PAGE_HEIGHT -498, "X")
		canvas.drawString(95,PAGE_HEIGHT -498, "TARJETA DE CIRCULACION (    )")

		if se_recoje.get('tipo',"") == 'LICENCIA':
			canvas.drawString(253,PAGE_HEIGHT -498, "X")
		canvas.drawString (215,PAGE_HEIGHT -498,"LICENCIA (     )")

		if se_recoje.get('tipo',"") == 'VEHICULO':
			canvas.drawString(360,PAGE_HEIGHT -498, "X")
		canvas.drawString(320,PAGE_HEIGHT -498, "VEHICULO (    )")

		if se_recoje.get('tipo',"") == 'CORTESIA':
			canvas.drawString(460,PAGE_HEIGHT -498, "X")
		canvas.drawString(420,PAGE_HEIGHT -498, "CORTESIA  (    )")

		
		if se_recoje.get('tipo',"") == 'PAGO MOVIL':
			canvas.drawString(570,PAGE_HEIGHT -498, "X")
		canvas.drawString(520,PAGE_HEIGHT -498, "PAGO MOVIL  (    )")


		canvas.rect(10, 266, 585, 45)
		canvas.drawString(12,PAGE_HEIGHT -538, "En caso de violacion al articulo 36 del Reglamento de Transito Municipal deLeon, Guanajuato se remitio al conductor ante el Medico legista qien a traves del CERTIFICADO MEDICO")
		canvas.drawString(12,PAGE_HEIGHT -546, "NUMERO determino que ")
		print  self.data
		## LA CERTIFICACION NO ESTA EN ESTE MOMENTO
		certificado=self.data.get('certificado',"")
		if certificado['ebriedad_incompleta'] == 'si':
		 	canvas.drawString(105,PAGE_HEIGHT -554, "X" )
		canvas.drawString(15,PAGE_HEIGHT -554, "EBRIEDAD INCOMPLETA (     )" )

		 
		if certificado['ebriedad_completa'] == 'si':
			canvas.drawString(200,PAGE_HEIGHT -554, "X" )
		canvas.drawString(120,PAGE_HEIGHT -554, "EBRIEDAD COMPLETA (     )" )

		 
		if certificado['influjo_droga'] == 'si':
			canvas.drawString(315,PAGE_HEIGHT -554, "X")
		canvas.drawString(220,PAGE_HEIGHT -554, "BAJO INFLUJO DE DROGAS (    )")

		 
		if certificado['aliento_alcoholico'] == 'si':
			canvas.drawString(423,PAGE_HEIGHT -554, "X")
		canvas.drawString(340,PAGE_HEIGHT -554, "ALIENTO ALCOHOLICO (    )")

		## certificado=self.data.get('certificado',"")
		if certificado['normal'] == 'si':
			canvas.drawString(512,PAGE_HEIGHT -554, "X")
		canvas.drawString(450,PAGE_HEIGHT -554, "ESTADO NORMAL(    )")
		
		
		canvas.drawString(12,PAGE_HEIGHT -562, "Se recoje el vehiculo infraccionado y se deposita en la pension autorizada que corresponda de conformidad a los(articulos) del reglamento de Transito Municipal de Leon Guanajuato.")
		canvas.drawString(12,PAGE_HEIGHT -570, "15 Ultimo parrafo(   )")
		canvas.drawString(120,PAGE_HEIGHT -570, "18 Tercer y Cuarto Parrafo(   )")
		canvas.drawString(300,PAGE_HEIGHT -570, "36 Ultimo Parrafo")
		canvas.drawString(395,PAGE_HEIGHT -570, "44 (   )")
		canvas.drawString(470,PAGE_HEIGHT -570, "45 (   )")
		tam= PAGE_WIDTH/3
		"""
		canvas.restoreState()
def first_page(canvas, doc):
    """ draws the header part of the document for every page"""
    canvas.saveState()
    canvas.setFont('pala', 9)

    # 1point = 1/72 inch , 40 points = 0.55 inch
    canvas.drawString(40, 720, 'PLATINUM FILINGS LLC')
    canvas.drawString(40, 708, '99 WEST HAWTHORNE AVENUE')
    canvas.drawString(40, 696, 'SUITE 408')
    canvas.drawString(40, 684, 'VALLLEY STREAM, NY 11580')

    canvas.setFont('Helvetica-Bold', 16)
    canvas.drawString(468, 741.6, 'Invoice')
    canvas.setFont('Helvetica', 10)
    #Dynamic line
    canvas.drawString(468, 725, 'Page 1 of 4')
    """Invoice date and number box"""
    canvas.setLineWidth(.3)
    canvas.rect(378, 648, 223, 36)
    #horizontal
    canvas.line(378, 671, 601, 671)
    #vertical
    canvas.line(464, 648, 464, 684)

    canvas.setFont('Helvetica', 9)
    canvas.drawString(385, 674, 'Invoice Date')
    canvas.drawString(470, 674, 'Invoice Number')

    #Dynamic Content
    canvas.setFont('pala', 9)
    canvas.drawString(385, 660, 'April 14, 2021')
    canvas.drawString(470, 660, '2020-5742')
    canvas.restoreState()

    #Box1
    canvas.setStrokeColorRGB(0, 0, 0)
    canvas.rect(20, 504, 270, 117)
    canvas.line(20, 599, 290, 599)
    canvas.setFont('palab', 9)
    canvas.drawString(40, 605, 'Bill To:')

    canvas.setFont('pala', 9)
    #Dynamic
    canvas.drawString(40, 585, 'Test Orders Invoices')
    canvas.drawString(40, 573, '123 Center Str')
    canvas.drawString(40, 561, 'Boko Town, Boko 999999')

    #Box2
    canvas.rect(310, 504, 270, 117)
    canvas.line(310, 599, 580, 599)

    canvas.setFont('palab', 9)
    canvas.drawString(320, 605, 'Order Information:')
    canvas.drawString(320, 585, 'Order Date: ')
    canvas.drawString(320, 573, 'Order Name: ')
    canvas.drawString(320, 561, 'Client Matter Number: ')
    canvas.drawString(320, 549, 'Total Amount Due: ')
    canvas.drawString(320, 537, 'Processed By: ')
    canvas.drawString(320, 525, 'Authorized By: ')

    canvas.setFont('pala', 9)
    canvas.drawString(390, 585, 'April 14, 2021')
    canvas.drawString(390, 573, 'Test orders Aaron')
    #canvas.drawString(390, 561,'Client Matter Number: ')
    canvas.drawString(405, 549, '$144945')
    canvas.drawString(390, 537, 'Aaron Sauber')
    canvas.drawString(390, 525, 'Judith Testing')

    #seperator line
    canvas.setStrokeColorRGB(0.8, 0.8, 0.8)
    canvas.line(72, 635, 540, 635)

    canvas.setFillColorRGB(0, 0.4, 0.7)
    canvas.rect(20, 465, 572, 18, fill=1)
    canvas.setFillColorRGB(1, 1, 1)
    canvas.setFont('Helvetica', 10)
    canvas.drawString(30, 470, 'SUMMARY')
    canvas.restoreState()
Beispiel #51
0
def genkitlabel(canvas,xa,ya,xw,yh,contentlist,test=0,paper_size_no=0):
    """
    """
    v('[------genkitlabel()')
    x = xa
    y = ya
    m = .05*inch
    h = yh # calc height
    h -= m*2 # height - margin
    w = xw # calc width
    w -= m*2 # width - margin


    v('genkitlabel() ------')
    v('genkitlabel() xa,ya,xw,yh: %f %f %f %f' % (xa,ya,xw,yh))
    v('genkitlabel() m h w : %f %f %f' % ( m, h, w))

    xo = yo = m # origin
    canvas.setLineWidth(.01*inch)
    canvas.setStrokeColorRGB(.75,.75,.75)

    global xwidth
    if (not (xwidth/inch <= 3.50)):
      cutmark(canvas,x,y,1,1)
      cutmark(canvas,x+xw,y+yh,-1,-1)
      cutmark(canvas,x,y+yh,1,-1)
      cutmark(canvas,x+xw,y,-1,1)
  


    didlogo = False

    yloc = y + h 

    image_size = 1.2*inch
    logo_yloc = yloc-image_size+.2*inch

    yrel = 0

    for line in contentlist:
      if (line == '..' or line == '.'):
        flip = False
        break
      v('genkitlabel(): line:%s' %(line))
      token = line.split()
      if len(token) <=  0:
        continue

      dowhat = token[0].upper()

      #---
      global flip
      if (dowhat == 'FLIP'):
        flip = True

      elif (dowhat == 'LOGO'):
        v('LOGO')
        if (len(token) == 1):
          # no arg print logo
          if (paper_size_no == 3):
            image_size = 1*inch
            canvas.drawImage('logo512x512.png', x+m-.75*inch,logo_yloc, image_size, image_size, preserveAspectRatio=True)
          else:
            canvas.drawImage('logo512x512.png', x+m+.1*inch+2.4*inch,logo_yloc, image_size, image_size, preserveAspectRatio=True)
        else:
          # print arg
          arg = token[1]
          if (len(arg) == 1):
            # character. make it big
            if flip:
              # They said 'LOGO X', so we draw big fat X where the logo should be
              canvas.saveState()
              canvas.translate(x+m+.3*inch,logo_yloc+1*inch)
              canvas.scale(-1,-1)

              canvas.setFont('Helvetica-Bold',70) 
              canvas.drawString(0,0,token[1])

              canvas.restoreState()
            else:
              # They said 'LOGO X', so we draw big fat X where the logo should be
              canvas.setFont('Helvetica-Bold',70) 
              canvas.drawString(x+m-.45*inch,logo_yloc+.2*inch,token[1])
          else:
            # Multiple characters 
            if flip:
              # They said 'LOGO X', so we draw big fat X where the logo should be
              canvas.saveState()
              canvas.translate(x+m+.3*inch,logo_yloc+1*inch)
              canvas.scale(-1,-1)

              canvas.setFont('Helvetica-Bold',20) 
              canvas.drawString(.5*inch,.55*inch,arg[0])
              canvas.drawString(.5*inch,.30*inch,arg[1])
              canvas.drawString(.5*inch,.05*inch,arg[2])

              canvas.restoreState()
            else:
              # They said 'LOGO X', so we draw big fat X where the logo should be
              canvas.setFont('Helvetica-Bold',20) 
              canvas.drawString(x+m-.45*inch,logo_yloc+.80*inch,arg[0])
              canvas.drawString(x+m-.45*inch,logo_yloc+.55*inch,arg[1])
              canvas.drawString(x+m-.45*inch,logo_yloc+.30*inch,arg[2])


      #---
      elif (dowhat == 'BARCODE'):
          yloc = render_barcode(canvas, x,yloc, token[1], ' '.join(token[2:]))
          v('genkitlabel(): yloc now: %f' % (yloc))


      #---
      elif (dowhat == 'KEYVAL'):
        v('KEYVAL Width : ')
        yloc = render_key_and_value(canvas, x+m+.350*inch, yloc, token[1], ' '.join(token[2:]))
        #yinc = .150*inch
      ##
      ##

    v('genkitlabel() --- line:' + line)

    return line
Beispiel #52
0
 def prepare_later_page(canvas, document):
     canvas.saveState()
     canvas.setStrokeColorRGB(0, 0, 0)
     canvas.line(width / 2, inch / 2, width / 2, height - inch / 2)
     canvas.restoreState()
Beispiel #53
0
    def myLaterPages(canvas, doc):

        PAGE_HEIGHT,PAGE_WIDTH = letter
        canvas.saveState()
        canvas.setPageSize(landscape(letter))

        canvas.drawImage(frunt_pag2, 0,0, PAGE_WIDTH,PAGE_HEIGHT )

        canvas.setStrokeColorRGB(0,1,1,alpha=0.1)

        ficha_no = doc.page-1
        #canvas.setStrokeColorRGB(0.7,0.7,0.7)
        canvas.setFillColorRGB(0,0,0)

        SHOW_GRID = False

        if SHOW_GRID:
            n = 5
            s = 200
            canvas.setFillColorRGB(0,0,1)
            canvas.setFont('Helvetica',1)
            for x in range(s):
               for y in range(s):
                  canvas.rect(x*n,y*n, width=n, height=n, stroke=1)
                  canvas.drawString(x*n,y*n,"%s,%s" % ((x*n),(y*n)) )

            # for i in range(s):
            #     x= i*n
            #     y=x
            #     canvas.drawString(x,0,"%s" % (x)) #horizontal
            #     canvas.drawString(0,y+1,"%s" % (x)) # vertical
            #     canvas.drawString(x,600,"%s" % (x)) #horizontal
            #     canvas.drawString(990,y,"%s" % (x)) # vertical
            #
            #     canvas.setStrokeColorRGB(0,0,1,alpha=0.7)
            #     canvas.setFont('Helvetica',1)
            #     for i in range(610):
            #         #canvas.rect(35,i*2, width=0.5, height=0.5, stroke=1)
            #         canvas.drawString(35,i,"%s -" % (i,) )

        canvas.setFont('Helvetica',7)
        LINE_1 = 508

        #fecha_elaboracion = doc.fecha_elaboracion
        #if not fecha_elaboracion:
        #    fecha_elaboracion = datetime.today()

        canvas.drawCentredString(137,LINE_1,str(fecha_elaboracion.year))
        canvas.drawCentredString(162,LINE_1,str(fecha_elaboracion.month))
        canvas.drawCentredString(180,LINE_1,str(fecha_elaboracion.day))

        canvas.drawCentredString(290,LINE_1,"VALLE DEL CAUCA")
        canvas.drawCentredString(478,LINE_1,"SANTIAGO DE CALI")

        canvas.drawCentredString(581,LINE_1,"7")
        canvas.drawCentredString(598,LINE_1,"6")
        canvas.drawCentredString(620,LINE_1,"0")
        canvas.drawCentredString(645,LINE_1,"0")
        canvas.drawCentredString(673,LINE_1,"1")

        canvas.drawCentredString(740,LINE_1,"Ficha No. %s" % (int(ficha_no)+int(no_ficha_inicial)-1))

        canvas.drawCentredString(177,142,"ESAUD URRUTIA NOEL")
        canvas.drawCentredString(177,132,"Secretario de Desarrollo Territorial y Bienestar Social")
        canvas.drawCentredString(177,123,"71.993.571 de Caceres")

        canvas.setFont('Helvetica',5)
        canvas.drawString(75,115, "Elaboro: %s" % elaboro)
        canvas.drawString(215,115, "Reviso: %s" % reviso)

        LINES = [401,390, 379, 368,358, 347, 336, 325, 314, 303, 293, 282, 272, 261, 250, 238, 228, 218, 207, 197 ]
        LINE_1_L = 0
        i=0
        ini = (ficha_no*20)-20
        fin = (ficha_no*20)

        for row in doc.rows[ini:fin]: #[total_pages:]:
            line = LINES[i]
            canvas.drawCentredString(53,line, row["fecha_inscripcion"])
            canvas.drawCentredString(98,line,row["cedula"])
            canvas.drawCentredString(147,line,row["apellido1"])
            canvas.drawCentredString(195,line,row["apellido2"])
            canvas.drawCentredString(244,line,row["nombre1"])
            canvas.drawCentredString(292,line,row["nombre2"])
            canvas.drawCentredString(381,line,row["direccion"])
            canvas.drawCentredString(472,line,row["telefono"])
            canvas.drawCentredString(512,line,row["fecha_nac_ano"])
            canvas.drawCentredString(544,line,row["fecha_nac_mes"])
            canvas.drawCentredString(576,line,row["fecha_nac_dia"])
            canvas.drawCentredString(598,line,row["genero"])
            canvas.drawCentredString(614,line,row["p_sisben_1"])
            canvas.drawCentredString(627,line,row["p_sisben_2"])
            canvas.drawCentredString(638,line,row["p_sisben_3"])
            canvas.drawCentredString(653,line,row["p_sisben_4"])
            canvas.drawCentredString(673,line,row["ubicacion"])
            canvas.drawCentredString(700,line,row["tiempo_residencia"])
            canvas.drawCentredString(722,line,row["condicion_am"])
            canvas.drawCentredString(738,line,row["con_personas_cargo"])
            canvas.drawCentredString(754,line,row["discapacitado"])
            canvas.drawCentredString(768,line,row["indigena"])
            i=i+1

        canvas.restoreState()
Beispiel #54
0
 def set_stroke_color(canvas, color):
     canvas.setStrokeColorRGB(color["r"], color["g"], color["b"])
     canvas.setStrokeAlpha(numpy.asscalar(color["a"]))
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()
Beispiel #56
0
 def prepare_later_page(canvas, document):
     canvas.saveState()
     canvas.setStrokeColorRGB(0, 0, 0)
     canvas.line(width / 2, inch / 2, width / 2, height - inch / 2)
     canvas.restoreState()
Beispiel #57
0
    canvas.drawString(320, 561, 'Client Matter Number: ')
    canvas.drawString(320, 549, 'Total Amount Due: ')
    canvas.drawString(320, 537, 'Processed By: ')
    canvas.drawString(320, 525, 'Authorized By: ')

    canvas.setFont('pala', 9)
    canvas.drawString(390, 585, 'April 14, 2021')
    canvas.drawString(390, 573, 'Test orders Aaron')
    #canvas.drawString(390, 561,'Client Matter Number: ')
    canvas.drawString(405, 549, '$144945')
    canvas.drawString(390, 537, 'Aaron Sauber')
    canvas.drawString(390, 525, 'Judith Testing')


#function
header(canvas)
#seperator line
canvas.setStrokeColorRGB(0.8, 0.8, 0.8)
canvas.line(72, 635, 540, 635)

#function
first_page_boxes(canvas)

canvas.setFillColorRGB(0, 0.4, 0.7)
canvas.rect(20, 465, 572, 18, fill=1)
canvas.setFillColorRGB(1, 1, 1)
canvas.setFont('Helvetica', 10)
canvas.drawString(30, 470, 'SUMMARY')

canvas.save()
Beispiel #58
0
 def set_stroke_color(canvas, color):
     canvas.setStrokeColorRGB(color["r"], color["g"], color["b"])
     canvas.setStrokeAlpha(numpy.asscalar(color["a"]))