Exemplo n.º 1
0
    def A4_page_foot(self, canvas, doc):
        canvas.saveState()

        # qrcode
        qrcode = self.codeimg
        qrcode.wrap(3*cm, 3*cm)
        qrcode.drawOn(canvas, doc.width, 1.5*cm)
        # ticket order
        if self.order:
            pr = Paragraph(_('ORDER: %s') % self.order, self.styleL)
            pr.wrap(doc.width, 1*cm)
            pr.drawOn(canvas, doc.leftMargin, 1.5*cm)
        # line
        hr = HRFlowable(width="100%", thickness=0.25, hAlign='CENTER',
                        color=colors.black, vAlign='BOTTOM', dash=None,
                        spaceAfter=5)
        hr.wrap(doc.width, 1*cm)
        hr.drawOn(canvas, doc.leftMargin, 1.5*cm)
        # ticket window code
        pr = Paragraph(self.wcode, self.styleL)
        pr.wrap(doc.width, 1*cm)
        pr.drawOn(canvas, doc.leftMargin, 1.0*cm)
        # code
        pr = Paragraph(self.code, self.styleL)
        pr.wrap(doc.width, 1*cm)
        pr.drawOn(canvas, doc.width, 1.0*cm)

        canvas.restoreState()
Exemplo n.º 2
0
 def render(self, canvas, doc):
     canvas.saveState()
     cnv = _rml_canvas(
         canvas, self.localcontext, doc, self.styles, images=self.images, path=self.path, title=self.canvas_title
     )
     cnv.render(self.node)
     canvas.restoreState()
Exemplo n.º 3
0
def draw_code128_sdaps_info(canvas, survey, page):
    # The page number is one based here already
    # The survey_id is a 32bit number, which means we need
    # 10 decimal digits to encode it, then we need to encode the
    # the page with at least 3 digits(just in case someone is insane enough
    # to have a questionnaire with more than 99 pages.
    # So use 10+4 digits

    barcode_value = "%010d%04d" % (survey.survey_id, page)
    barcode = createBarcodeDrawing("Code128",
                                   value=barcode_value,
                                   barWidth=defs.code128_barwidth / 25.4 * 72.0,
                                   height=defs.code128_height / 25.4 * 72.0,
                                   quiet=False)

    y = survey.defs.paper_height - defs.corner_mark_bottom
    x = survey.defs.paper_width - defs.corner_mark_right

    barcode_y = y - defs.code128_vpad - defs.code128_height
    barcode_x = x - defs.code128_hpad

    # The barcode should be flush left.
    barcode_x = barcode_x - barcode.width / mm

    renderPDF.draw(barcode, canvas, barcode_x * mm, barcode_y * mm)

    # Label
    text_x = barcode_x + barcode.width / mm / 2.0
    text_y = barcode_y + defs.code128_height + 1 + defs.code128_text_font_size / 72.0 * 25.4 / 2.0

    canvas.saveState()
    canvas.setFont(defs.code128_text_font, defs.code128_text_font_size)
    canvas.drawCentredString(text_x * mm, text_y * mm, barcode_value)
    canvas.restoreState()
Exemplo n.º 4
0
    def _encabezado_pie_pagina(canvas, archivoPDF):
        """Guarde el estado de nuestro lienzo para que podamos aprovecharlo"""

        canvas.saveState()
        estilos = getSampleStyleSheet()

        # alineacion = ParagraphStyle(name="alineacion", alignment=TA_RIGHT,
        #                             parent=estilos["Normal"])
        #
        # # Encabezado
        # encabezadoNombre = Paragraph("Andres Niño 1.0", estilos["Normal"])
        # anchura, altura = encabezadoNombre.wrap(archivoPDF.width, archivoPDF.topMargin)
        # encabezadoNombre.drawOn(canvas, archivoPDF.leftMargin, 736)

        # fechaReporte = str(datetime.today())
        #
        # encabezadoFecha = Paragraph(fechaReporte, alineacion)
        # anchura, altura = encabezadoFecha.wrap(archivoPDF.width, archivoPDF.topMargin)
        # encabezadoFecha.drawOn(canvas, archivoPDF.leftMargin, 736)

        # Pie de página
        piePagina = Paragraph("Fecha de impresión: {}".format(datetime.today().__str__()), estilos["Normal"])
        anchura, altura = piePagina.wrap(archivoPDF.width, archivoPDF.bottomMargin)
        piePagina.drawOn(canvas, archivoPDF.leftMargin, 15 * mm + (0.2 * inch))

        # Suelta el lienzo
        canvas.restoreState()
Exemplo n.º 5
0
    def myFirstPage(self, canvas, doc):
        Title = "SOLICITUD DE PAGO"
        canvas.saveState()
        canvas.setFont('Times-Bold', 16)

        canvas.drawCentredString(PAGE_WIDTH / 2.0, PAGE_HEIGHT - 50, Title)
        stylo = ParagraphStyle('firma_style',
                               alignment=TA_CENTER,
                               fontSize=6,
                               fontName="Times-Roman")
        stylo2 = ParagraphStyle('firma_style',
                                alignment=TA_CENTER,
                                fontSize=8,
                                fontName="Times-Bold")
        dta = [
            (Paragraph('', stylo2), Paragraph('RECIBIÓ',
                                              stylo2), Paragraph('', stylo2)),
            (Paragraph('', stylo), Paragraph('           ',
                                             stylo), Paragraph('', stylo)),
        ]

        tabla = Table(dta, colWidths=[6 * cm, 6 * cm, 6 * cm])
        tabla.wrapOn(canvas, PAGE_WIDTH, PAGE_HEIGHT)
        tabla.drawOn(canvas, 50, 19.5 * cm)
        canvas.restoreState()
Exemplo n.º 6
0
def draw_code128_questionnaire_id(canvas, survey, id):
    # Only supports ascii for now (see also defs.py)
    barcode_value = unicode(id).encode('ascii')
    barcode = createBarcodeDrawing("Code128",
                                   value=barcode_value,
                                   barWidth=defs.code128_barwidth / 25.4 * 72.0,
                                   height=defs.code128_height / 25.4 * 72.0,
                                   quiet=False)

    y = survey.defs.paper_height - defs.corner_mark_bottom
    x = defs.corner_mark_left

    barcode_y = y - defs.code128_vpad - defs.code128_height
    barcode_x = x + defs.code128_hpad

    # The barcode should be flush left.
    barcode_x = barcode_x

    renderPDF.draw(barcode, canvas, barcode_x * mm, barcode_y * mm)

    # Label
    text_x = barcode_x + barcode.width / mm / 2.0
    text_y = barcode_y + defs.code128_height + 1 + \
             defs.code128_text_font_size / 72.0 * 25.4 / 2.0

    canvas.saveState()
    canvas.setFont(defs.code128_text_font, defs.code128_text_font_size)
    canvas.drawCentredString(text_x * mm, text_y * mm, barcode_value)
    canvas.restoreState()
        def _build_header_canvas(canvas, doc):
            """
            Draw the document header.

            Local function to be passed later to output_doc.build().
            Reportlab automatically passes args when called.
            """
            # The header function to be passed later to output_doc.build()
            # Set up positions
            header_y_position = (11 * units.inch) - 45
            page_number = doc.page
            if page_number % 2 == 0:
                # Left-hand page
                page_number_x_position = 60
            else:
                # Right-hand page
                page_number_x_position = (8.5 * units.inch) - 60
            canvas.saveState()
            canvas.setFont(self.paragraph_style.fontName,
                           self.paragraph_style.fontSize)
            if self.title:
                canvas.drawCentredString((8.5 * units.inch) / 2,
                                         header_y_position,
                                         self.title)
            canvas.drawString(page_number_x_position, header_y_position,
                              str(page_number))
            canvas.restoreState()
Exemplo n.º 8
0
def simple_background(canvas, document):
    header_text = document.title
    sub_header_text = document.subject

    canvas.saveState()
    margin = 0.2 * inch
    if header_text:
        canvas.setFont('Helvetica-Bold', 16)
        canvas.drawString(margin, A4[1] - 0.15 * inch - margin, header_text)

    if sub_header_text:
        canvas.setFont('Helvetica-Bold', 32)
        canvas.drawString(margin, A4[1] - 0.15 * inch - margin - 0.45 * inch,
                          sub_header_text)

    w = 1.5 * inch
    h = w / 257.0 * 86.0
    canvas.drawImage(os.path.join(resource_dir, "logo_pl.JPG"),
                     A4[0] - w - margin,
                     A4[1] - h - margin,
                     width=w,
                     height=h)

    p = canvas.beginPath()
    p.moveTo(0, A4[1] - h - 2 * margin)
    p.lineTo(A4[0], A4[1] - h - 2 * margin)
    canvas.drawPath(p)

    canvas.restoreState()
Exemplo n.º 9
0
    def myPage(canvas, doc):
        canvas.saveState()  # save the current state
        canvas.setFont('InconsolataBold', 16)  # set the font for the name
        canvas.drawString(
            .4 * inch,
            HEIGHT - (.4 * inch),
            contact['name'])  # draw the name on top left page 1
        canvas.setFont('Inconsolata', 8)  # sets the font for contact
        canvas.drawRightString(
            WIDTH - (.4 * inch),
            HEIGHT - (.4 * inch),
            contact['website'])  
        canvas.line(.4 * inch, HEIGHT - (.47 * inch), 
            WIDTH - (.4 * inch), HEIGHT - (.47 * inch))
        canvas.drawString(
            .4 * inch,
            HEIGHT - (.6 * inch),
            contact['phone'])
        canvas.drawCentredString(
			WIDTH / 2.0,
			HEIGHT - (.6 * inch),
			contact['address'])
        canvas.drawRightString(
			WIDTH - (.4 * inch),
			HEIGHT - (.6 * inch),
			contact['email'])
        # restore the state to what it was when saved
        canvas.restoreState()
Exemplo n.º 10
0
def drawHnecLogo(canvas, doc):
    # draws the greyscale hnec logo
    # on the canvas directly, so we don't have to deal with flowables
    canvas.saveState()
    canvas.drawImage(ImageReader(hnec_logo(greyscale=True)), 3.5*cm, A4[1]-3.8*cm, width=4*cm,
                     height=1*cm)
    canvas.restoreState()
Exemplo n.º 11
0
def el_encogedor_de_fuentes_de_doraemon(canvas, fuente, tamannoini, xini, xfin, y, texto, alineacion = -1):
    """
    Comenzando por el tamaño inicial "tamannoini", encoge el texto 
    hasta que quepa en los límites fijados y después lo escribe.
    Convierte el texto por si está en una codificación no soportada.
    Al finalizar, devuelve las propiedades de texto del canvas a 
    su estado original y la fuente a su tamaño inicial.
    NO AVANZA LÍNEA.
    Si alineacion == -1: Alineación a la izquierda. Si 0, centrado y si 1, a la derecha.
    """
    # PLAN: No estaría mal pasar un tamaño mínimo de fuente, y si se alcanza o se supera, cortar la línea con 
    # agregarFila y el último tamaño de fuente válido. Claro que entonces habría que devolver también las líneas 
    # avanzadas, etc...
    canvas.saveState()
    size = tamannoini
    texto = escribe(texto)
    while canvas.stringWidth(texto, fuente, size) > (xfin - xini) and size > 4:
        size -= 1
    canvas.setFont(fuente, size)
    if alineacion == -1:
        canvas.drawString(xini, y, texto)
    elif alineacion == 1:
        canvas.drawRightString(xfin, y, texto)
    elif alineacion == 0:
        canvas.drawCentredString((xfin + xini) / 2.0, y, texto)
    else:
        print "geninformes.py::el_encogedor_de_fuentes_de_doraemon -> Error alineación. Uso alineación a la izquierda por defecto."
        canvas.drawString(xini, y, texto)
    canvas.restoreState()
Exemplo n.º 12
0
def footer(canvas, doc):
    canvas.saveState()
    P = Paragraph("ReadyMade Report",
                  styleN)
    w, h = P.wrap(doc.width, doc.bottomMargin)
    P.drawOn(canvas, doc.leftMargin, h)
    canvas.restoreState()
Exemplo n.º 13
0
	def show(self, canvas, showframe=None):
		if self._border_width > 0.0:
			canvas.saveState()
			canvas.setStrokeColor(self._border_color)
			canvas.setLineWidth(self._border_width)
			if self._border_fill_color.lower() != 'none':
				canvas.setFillColor(self._border_fill_color)                        
			canvas.rect(self.x, 
						self.y, 
						self.width, 
						self.height, 
						stroke=self._border_type, 
						fill=self._fill_border_rect)
			canvas.restoreState()

		if self.flowable is not None:                  
			self.flowable.width = self.width-(2.0*self._padding[0])
			self.flowable.height = self.height-(2.0*self._padding[1])
			self.flowable.drawOn(canvas, self.x+self._padding[0], self.y-self._padding[1])

			if showframe is not None:
				canvas.saveState()
				canvas.setLineWidth(showframe[0])
				canvas.rect(self.x, self.y, self.width, self.height, stroke=1, fill=showframe[1])
				canvas.restoreState()

		return self
Exemplo n.º 14
0
    def myLaterPages(canvas, doc):
        canvas.saveState()

        canvas.setFont('Times-Roman', 9)
        canvas.drawString(inch, 0.75 * inch,
                          "Page %d %s" % (doc.page, pageinfo))
        canvas.restoreState()
Exemplo n.º 15
0
 def beforeDrawPage(self, canvas):
     """Draws the background before anything else"""
     canvas.saveState()
     rl_obj = makerl(canvas, self.page_template)
     canvas.scale(self.page_xscale, self.page_yscale)
     canvas.doForm(rl_obj)
     canvas.restoreState()
Exemplo n.º 16
0
    def _header_footer(canvas, doc):
        # Save the state of our canvas so we can draw on it
        canvas.saveState()
        styles = getSampleStyleSheet()

        # Header

        header = Paragraph(
            'Igreja Evangélica Assembleia de Deus Tijuca Gloriosa ',
            styles['Normal'])

        #data = [[logo, p]]
        #header = Table(data, colWidths=2*inch)
        #header.setStyle([("VALIGN", (1,1), (1,1), "TOP")])
        header.wrap(doc.width, doc.topMargin)
        w, h = header.wrap(doc.width, doc.topMargin)

        header.drawOn(canvas, doc.leftMargin, doc.height + doc.topMargin - h)

        #header.drawOn(canvas, doc.leftMargin, doc.height + doc.topMargin - h)

        # Footer
        footer = Paragraph(
            'This is a multi-line footer.  It goes on every page.   ' * 5,
            styles['Normal'])
        w, h = footer.wrap(doc.width, doc.bottomMargin)
        footer.drawOn(canvas, doc.leftMargin, h)

        # Release the canvas
        canvas.restoreState()
Exemplo n.º 17
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()
Exemplo n.º 18
0
def simple_customer_background(canvas, document):
    header_text = document.title
    sub_header_text = document.subject

    canvas.saveState()
    # canvas.drawImage("background.jpg", 0,0, A4[0], A4[1])

    canvas.drawImage(os.path.join(resource_dir, "letter_header.png"),
                     (A4[0] - 18.924 * cm) / 2, A4[1] - 3.294 * cm - 0.5 * cm,
                     18.924 * cm, 3.294 * cm)
    canvas.drawImage(os.path.join(resource_dir, "letter_footer.png"),
                     (A4[0] - 18.911 * cm) / 2, 0.8 * cm, 18.911 * cm,
                     1.532 * cm)

    canvas.setLineWidth(0.1)
    canvas.setFillColorRGB(0.8, 0.8, 0.8)
    # canvas.rect(1*cm,23*cm, A4[0]-2*cm,1*cm,stroke=True,fill=True)

    # canvas.setFillColorRGB(1,0,0)
    # canvas.rect(1*cm,3*cm, (A4[0]-2*cm)/2,5*cm,stroke=True,fill=False)
    # canvas.rect(1*cm+ (A4[0]-2*cm)/2, 3*cm, (A4[0]-2*cm)/2,5*cm,stroke=True,fill=False)

    # if header_text:
    #     canvas.setFont('Helvetica-Bold', 16)
    #     canvas.setFillColorRGB(0,0,0)
    #     canvas.drawString(1.25*cm,23.3*cm,header_text)

    # if sub_header_text:
    #     canvas.setFont('Helvetica', 14)
    #     canvas.setFillColorRGB(0,0,0)
    #     canvas.drawRightString(A4[0] - 1.2*cm,23.3*cm,sub_header_text)

    canvas.restoreState()
Exemplo n.º 19
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()
Exemplo n.º 20
0
def landscape_header(canvas, doc):
    canvas.saveState()
    header = Table([[_limage]], colWidths='*')
    header.setStyle(
        TableStyle([
            # ('GRID',(0,0),(-1,-1),0.5, colors.Color(0, 0, 0, 0.2)),
            ('FONTSIZE', (0, 0), (-1, -1), 12),
            ('FONTNAME', (0, 0), (-1, -1), 'Courier'),
            ('ALIGN', (0, 0), (0, -1), 'CENTER')
        ]))
    header.wrapOn(canvas, doc.width, doc.topMargin)
    header.drawOn(canvas, doc.leftMargin, doc.height + doc.topMargin - .3 * cm)

    # Footer
    today = date.today()
    footer = Table([[
        'Printed by: ' + str(auth.user.first_name) + ' ' +
        str(auth.user.last_name) + ' ' +
        str(request.now.strftime('%d/%m/%Y,%H:%M'))
    ]],
                   colWidths=['*'])
    footer.setStyle(
        TableStyle([
            # ('GRID',(0,0),(-1,-1),0.5, colors.Color(0, 0, 0, 0.2)),
            ('TEXTCOLOR', (0, 0), (0, 0), colors.gray),
            ('FONTSIZE', (0, -1), (0, -1), 8),
            ('FONTNAME', (0, 0), (-1, -1), 'Courier'),
            ('ALIGN', (0, 1), (0, 1), 'RIGHT')
        ]))
    footer.wrap(doc.width, doc.bottomMargin)
    footer.drawOn(canvas, doc.leftMargin, doc.bottomMargin - .3 * inch)

    # Release the canvas
    canvas.restoreState()
Exemplo n.º 21
0
def write_tile(i, pos=None, canvas=None):
    styles = getSampleStyleSheet()
    styleN = styles['Normal']
    styleN.spaceBefore = 10
    styleN.spaceAfter = 10
    styleN.textColor = white
    styleH = styles['Heading1']
    styleH.textColor = white
    styleH.alignment = 1
    styleN.alignment = 1



    canvas.saveState()
    canvas.setFillColor(red)
    canvas.rect(spacer + pos[0] * 40 * mm, 5 * mm + pos[1] * 80 * mm, 40 * mm, 80 * mm, fill=1, stroke=1)

    f = Frame(spacer + pos[0] * 40 * mm, pos[1] * 80 * mm - 5 * mm, 40 * mm, 40 * mm, showBoundary=0)
    f.addFromList([Paragraph('%i' % i, styleH)], canvas)

    f = Frame(spacer + pos[0] * 40 * mm, pos[1] * 80 * mm + 35 * mm, 40 * mm, 40 * mm, showBoundary=0)
    f.addFromList([Paragraph('%i' % i, styleH)], canvas)

    canvas.restoreState()
    if pos == (3, 2):
        canvas.showPage()
        pos = (0, 0)
    else:
        if pos[1] == 2:
            pos = (pos[0] + 1, 0)
        else:
            pos = (pos[0], pos[1] + 1)
    return pos
Exemplo n.º 22
0
def draw_code128_global_id(canvas, survey):
    if survey.global_id is None:
        raise AssertionError

    # Only allow ascii
    barcode_value = survey.global_id.encode('ascii')

    barcode = createBarcodeDrawing("Code128",
                                   value=barcode_value,
                                   barWidth=defs.code128_barwidth / 25.4 * 72.0,
                                   height=defs.code128_height / 25.4 * 72.0,
                                   quiet=False)

    y = survey.defs.paper_height - defs.corner_mark_bottom
    x = (survey.defs.paper_width - defs.corner_mark_right + defs.corner_mark_left) / 2

    barcode_y = y - defs.code128_vpad - defs.code128_height
    barcode_x = x

    # Center
    barcode_x = barcode_x - barcode.width / mm / 2.0

    renderPDF.draw(barcode, canvas, barcode_x * mm, barcode_y * mm)

    # Label
    text_x = barcode_x + barcode.width / mm / 2.0
    text_y = barcode_y + defs.code128_height + 1 + defs.code128_text_font_size / 72.0 * 25.4 / 2.0

    canvas.saveState()
    canvas.setFont(defs.code128_text_font, defs.code128_text_font_size)
    canvas.drawCentredString(text_x * mm, text_y * mm, barcode_value)
    canvas.restoreState()
Exemplo n.º 23
0
def myLaterPage(canvas, doc):
    canvas.saveState()
    canvas.setFont('VeraBd', 9)
    contact_info = "Alder Optomechanical Corp."

    canvas.setFont('Times-Roman', 9)
    canvas.drawImage(logo, 520, 780, mask='auto', width=55, height=45)
    canvas.drawString(530, 0.45 * inch, "Page %d " % (doc.page))
    #canvas.drawString(inch, 0.45 * inch, "Page %d %s" % ( doc.page, pageinfo) )
    canvas.drawImage(footer_line, 25, 805, mask='auto', width=485, height=20)
    contact_address = "No.171 Tianjin Street, Pignzhen Dist., Taoyuan City 32458, Taiwan.    www.alder.com.tw    [email protected]    +886-3-4393588"

    # 地址放在上面的圖騰下
    canvas.setFont('VeraBd', 9)
    canvas.drawString(30, 795, contact_info)
    canvas.setFont('Times-Roman', 9)
    canvas.drawString(30, 785, contact_address)
    canvas.drawImage(upline, 25, 25, mask='auto', width=490, height=20)

    # 地址放在下面的圖騰下
    # canvas.setFont('VeraBd', 9)
    # canvas.drawString(30, 40 ,  contact_info  )
    # canvas.setFont('Times-Roman', 9)
    # canvas.drawString(30, 25 ,  contact_address )
    # canvas.drawImage(upline, 25, 50, mask='auto', width=540,height=20)

    canvas.restoreState()
Exemplo n.º 24
0
 def onLaterPages(self, canvas, doc):
     canvas.saveState()
     self.set_header(canvas, doc)
     self.set_footer(canvas, doc)
     if self.show_creation_date:
         self.set_creation_date(canvas, doc)
     canvas.restoreState()
Exemplo n.º 25
0
def get_letterhead_page(canvas, doc):
        # Save the state of our canvas so we can draw on it
		canvas.saveState()
		styles = getSampleStyleSheet()
		base_path = join(settings.BASE_DIR, 'static/assets/report/')

		escudo = Image(base_path + 'escudo_morona.png', width=6*cm,height=2*cm)
		logo = Image(base_path + 'logo_morona.jpg', width=2*cm,height=2*cm)
		aside = Image(base_path + 'aside.png', width=1*cm,height=10*cm)
		footer_caption = Image(base_path + 'footer-caption.png', width=6.5*cm,height=1.5*cm)
		footer_image = Image(base_path + 'footer-image.png', width=3*cm,height=1.5*cm)

		w, h = escudo.wrap(doc.width, doc.topMargin)
		escudo.drawOn(canvas, doc.leftMargin, doc.height + doc.topMargin - 20)

		w, h = logo.wrap(doc.width, doc.topMargin)
		logo.drawOn(canvas, doc.leftMargin + 480, doc.height + doc.topMargin - 20)

		w, h = aside.wrap(doc.width, doc.topMargin)
		aside.drawOn(canvas, doc.leftMargin + 510, doc.height + doc.topMargin - 375)
		
		w, h = footer_caption.wrap(doc.width, doc.topMargin)
		footer_caption.drawOn(canvas, doc.leftMargin, doc.height + doc.topMargin - 770)

		w, h = footer_image.wrap(doc.width, doc.topMargin)
		footer_image.drawOn(canvas, doc.leftMargin + 430, doc.height + doc.topMargin - 770)

        # Release the canvas
		canvas.restoreState()
Exemplo n.º 26
0
 def _header_footer(self, canvas, doc):
     # Save the state of our canvas so we can draw on it
     canvas.saveState()
     styles = getSampleStyleSheet()
     # HEADER
     # -- image
     image = Image(
         'https://s3.amazonaws.com/reclutamiento/images/logopetroperu-bg-FFF.jpg'
     )
     image.drawHeight = 0.75 * inch * image.drawHeight / image.drawWidth
     image.drawWidth = 0.75 * inch
     # -- title and subtitle
     title = getParagraphText(to_upper(self.title), 14, 'center', True)
     sub_title = Paragraph(
         '<para align=center ><b> INFORMACIÓN GENERAL DE LOS POSTULANTES</b></para>',
         styles["BodyText"])
     # -- table
     header_table = Table([[[image], [title, sub_title], [image]]],
                          colWidths=(doc.width * 0.2, doc.width * 0.6,
                                     doc.width * 0.2))
     header_table.setStyle(
         TableStyle([('INNERGRID', (0, 0), (-1, -1), 0.25, colors.black),
                     ('ALIGN', (0, 0), (-1, -1), 'CENTER'),
                     ('BOX', (0, 0), (-1, -1), 0.25, colors.black)]))
     w, h = header_table.wrap(doc.width, doc.topMargin)
     header_table.drawOn(canvas, doc.leftMargin,
                         doc.height + doc.topMargin - h)
     # Footer
     # Write footer
     # Release the canvas
     canvas.restoreState()
Exemplo n.º 27
0
    def header(self, canvas, doc, growing_year, cur_date):
        """Create the header of the document

        Parameters
        ----------
        canvas
        doc
        growing_year: int
        cur_date: str, with the current date

        """
        canvas.saveState()
        canvas.drawString(30, 750, self.tr('Simple report from GeoDataFarm'))
        canvas.drawString(
            30, 733,
            self.tr('For the growing season of ') + str(growing_year))
        canvas.drawImage(self.plugin_dir + '\\img\\icon.png',
                         500,
                         765,
                         width=50,
                         height=50)
        canvas.drawString(500, 750, 'Generated:')
        canvas.drawString(500, 733, cur_date)
        canvas.line(30, 723, 580, 723)
        #w, h = content.wrap(doc.width, doc.topMargin)
        #content.drawOn(canvas, doc.leftMargin, doc.height + doc.topMargin - h)
        canvas.restoreState()
Exemplo n.º 28
0
 def _header_footer(canvas, doc):
     # Save the state of our canvas so we can draw on it
     canvas.saveState()
     styles = getSampleStyleSheet()
     # HEADER
     # -- image
     image = Image(
         'https://s3.amazonaws.com/reclutamiento/images/logopetroperu-bg-FFF.jpg'
     )
     image.drawHeight = 0.75 * inch * image.drawHeight / image.drawWidth
     image.drawWidth = 0.75 * inch
     # -- title and subtitle
     title = getParagraphText('ATENCIONES', 14, 'center', True)
     # -- table
     header_table = Table([[[image], [title], [image]]],
                          colWidths=(doc.width * 0.2, doc.width * 0.6,
                                     doc.width * 0.2))
     header_table.setStyle(
         TableStyle([('INNERGRID', (0, 0), (-1, -1), 0.25, colors.black),
                     ('ALIGN', (0, 0), (-1, -1), 'CENTER'),
                     ('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
                     ('BOTTOMPADDING', (0, 0), (-1, -1), 0),
                     ('TOPPADDING', (0, 0), (-1, -1), 0),
                     ('BOX', (0, 0), (-1, -1), 0.25, colors.black)]))
     w, h = header_table.wrap(doc.width, doc.topMargin)
     header_table.drawOn(canvas, doc.leftMargin,
                         doc.height + doc.topMargin - h)
     canvas.restoreState()
Exemplo n.º 29
0
    def later_pages(canvas, document):
        canvas.saveState()
        #вывести внизу QR-code (ФИО, (номера направлений))
        qr_code = qr.QrCodeWidget(qr_value)
        qr_code.barWidth = 70
        qr_code.barHeight = 70
        qr_code.qrVersion = 1
        bounds = qr_code.getBounds()
        width = bounds[2] - bounds[0]
        height = bounds[3] - bounds[1]
        d = Drawing()
        d.add(qr_code)
        renderPDF.draw(d, canvas, 90 * mm, 7)
        #вывести атрибуты для подписей
        canvas.setFont('PTAstraSerifReg', 10)
        canvas.drawString(40 * mm, 10 * mm, '____________________________')
        canvas.drawString(115 * mm, 10 * mm,
                          '/{}/____________________________'.format(npf))

        canvas.setFont('Symbola', 18)
        canvas.drawString(195 * mm, 10 * mm, '\u2713')

        canvas.setFont('PTAstraSerifReg', 8)
        canvas.drawString(50 * mm, 7 * mm, '(подпись сотрудника)')
        canvas.drawString(160 * mm, 7 * mm, '(подпись плательщика)')

        canvas.rotate(90)
        canvas.setFillColor(HexColor(0x4f4b4b))
        canvas.setFont('PTAstraSerifReg', 5.2)
        canvas.drawString(10 * mm, -12 * mm, '{}'.format(6 * left_size_str))
        canvas.restoreState()
Exemplo n.º 30
0
 def myFirstPage(self, canvas, doc):
     canvas.saveState()
     canvas.setFont('Times-Roman',9)
     canvas.drawString(inch, 0.75 * inch, "Page 1 / %s" % pageinfo)
     self.headerTable.wrapOn(canvas, 540, height)
     self.headerTable.drawOn(canvas, *coord(1.0, 1.5, cm))
     canvas.restoreState()
Exemplo n.º 31
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()
Exemplo n.º 32
0
def myFirstPage(canvas, doc):
    canvas.saveState()
    canvas.setFont('Times-Bold',16)
    canvas.drawString(330,500,"Programare Vaccin")
    canvas.setFont('Times-Roman',9)
    canvas.drawString(0,100,"")
    canvas.restoreState()
def on_later_pages(canvas, DOC):
    """Draws header and footer on every page"""
    if DOC.page > 1:
        canvas.saveState()
        header(canvas, DOC, MAPHEADERTEXT)
        footer(canvas, DOC)
        canvas.restoreState()
Exemplo n.º 34
0
Arquivo: models.py Projeto: B-Rich/M2M
 def docPage(canvas,doc):
     canvas.saveState()
     canvas.setFont('Times-Bold', 10)
     canvas.drawCentredString(PAGE_WIDTH/2.0, PAGE_HEIGHT - (.25 * inch), Title)
     canvas.setFont('Times-Roman',9)
     canvas.drawString(7 * inch, .75 * inch, "Page %d" % (doc.page,))
     canvas.restoreState()
Exemplo n.º 35
0
 def onLaterPages(self, canvas, doc):
     canvas.saveState()
     self.set_header(canvas, doc)
     self.set_footer(canvas, doc)
     if self.show_creation_date:
         self.set_creation_date(canvas, doc)
     canvas.restoreState()
Exemplo n.º 36
0
 def myFirstPage(canvas, doc):
     canvas.saveState()
     canvas.setFont('Times-Bold', 16)
     canvas.drawCentredString(PAGE_WIDTH / 2.0, PAGE_HEIGHT - 108, Title)
     canvas.setFont('Times-Roman', 9)
     canvas.drawString(inch, 0.75 * inch, "First Page / %s" % pageinfo)
     canvas.restoreState()
Exemplo n.º 37
0
        def header(canvas, doc):
            canvas.saveState()

            #Titulo
            P_one = Paragraph('Reporte de inconsistencias', styleN)
            w, h = P_one.wrap(doc.width, doc.topMargin)
            P_one.drawOn(canvas, doc.leftMargin,
                         doc.height + doc.topMargin - h)

            P_two = Paragraph(self.invoicing_companies.name, styleN)
            w, h = P_two.wrap(doc.width, doc.topMargin - 15)
            P_two.drawOn(canvas, doc.leftMargin,
                         doc.height + (doc.topMargin - 15) - h)

            #Pagina
            P_pag = Paragraph('Página: ' + str(canvas.getPageNumber()), styleN)
            w, h = P_pag.wrap(doc.width + 400, doc.topMargin - 15)
            P_pag.drawOn(canvas, doc.leftMargin + 400,
                         doc.height + (doc.topMargin - 15) - h)

            #Fecha impresión
            date_today = fields.Date.context_today(self)
            P_date = Paragraph('Fecha impresión: ' + str(date_today), styleN)
            w, h = P_date.wrap(doc.width, doc.topMargin - 40)
            P_date.drawOn(canvas, doc.leftMargin,
                          doc.height + (doc.topMargin - 40) - h)

            canvas.restoreState()
Exemplo n.º 38
0
def header_footer(canvas, doc, content):
    # Save the state of our canvas so we can draw on it
    canvas.saveState()
    # Header
    # header = Paragraph('This is a multi-line header.  It goes on every page.   ' * 5, styles['Normal'])
    # w, h = header.wrap(doc.width, doc.topMargin)
    # header.drawOn(canvas, doc.leftMargin, doc.height + doc.topMargin - h)
    # for f in template:
    #     Texto_footer=f.footer_id.footer

    # Footer
    # Texto_footer = """Dr. Carlos M. Rott |
    #     Especialista en Pediatria MP:1214 <br></br>Carlos Pellegrini 1780 |
    #     Tel.4427128 | Cel. 154540897 | [email protected] |
    #     W 3400 BBF - Corrientes - Argentina <br></br>
    #     NO OLVIDE ESTA RECETA EN SU PROXIMA CONSULTA """
    #Armar el Texto para el Footer con el Estilo definido en get_styles_custom
    # footer = Paragraph(Texto_footer, get_styles_customs('Footer_Center'))

    #Obtener el Ancho y ponerlo en W y en el H ponemos el margen inferior(bottonMargin)
    w, h = content.wrap(doc.width, doc.bottomMargin)

    #dibujamos el footer sobre el canvas pasandole el margen izquierdo y el margen inferior
    content.drawOn(canvas, doc.leftMargin, h)

    # Release the canvas
    canvas.restoreState()
Exemplo n.º 39
0
def on_later_pages(canvas, DOC):
    """Draws header and footer on every page"""
    if DOC.page > 1:
        canvas.saveState()
        header(canvas, DOC, MAPHEADERTEXT)
        footer(canvas, DOC)
        canvas.restoreState()
Exemplo n.º 40
0
def add_page_number(canvas, doc):
    canvas.saveState()
    canvas.setFont('Times-Roman', 10)
    canvas.setTitle('Report Agrisurvey')
    page_number_text = "pagina %d" % (doc.page)
    canvas.drawCentredString(0.75 * inch, 0.75 * inch, page_number_text)
    canvas.restoreState()
    def confidential(self, canvas):
        canvas.saveState()

        canvas.translate(18.5*cm, 27.4*cm)

        canvas.setLineWidth(3)
        canvas.setFillColorRGB(1, 0, 0)
        canvas.setStrokeGray(0.5)

        p = canvas.beginPath()
        p.moveTo(10, 0)
        p.lineTo(20, 10)
        p.lineTo(30, 0)
        p.lineTo(40, 10)
        p.lineTo(30, 20)
        p.lineTo(40, 30)
        p.lineTo(30, 40)
        p.lineTo(20, 30)
        p.lineTo(10, 40)
        p.lineTo(0, 30)
        p.lineTo(10, 20)
        p.lineTo(0, 10)

        canvas.drawPath(p, fill=1, stroke=0)

        canvas.restoreState()
Exemplo n.º 42
0
    def _encabezadoPiePagina(canvas, archivoPDF):
        """Guarde el estado de nuestro lienzo para que podamos aprovecharlo"""
        
        canvas.saveState()
        estilos = getSampleStyleSheet()

        alineacion = ParagraphStyle(name="alineacion", alignment=TA_RIGHT,
                                    parent=estilos["Normal"])
 
        # Encabezado
        encabezadoNombre = Paragraph("Andres Niño 1.0", estilos["Normal"])
        anchura, altura = encabezadoNombre.wrap(archivoPDF.width, archivoPDF.topMargin)
        encabezadoNombre.drawOn(canvas, archivoPDF.leftMargin, 736)

        fecha = utcnow().to("local").format("dddd, DD - MMMM - YYYY", locale="es")
        fechaReporte = fecha.replace("-", "de")

        encabezadoFecha = Paragraph(fechaReporte, alineacion)
        anchura, altura = encabezadoFecha.wrap(archivoPDF.width, archivoPDF.topMargin)
        encabezadoFecha.drawOn(canvas, archivoPDF.leftMargin, 736)
 
        # Pie de página
        piePagina = Paragraph("Reporte generado por Andres Niño.", estilos["Normal"])
        anchura, altura = piePagina.wrap(archivoPDF.width, archivoPDF.bottomMargin)
        piePagina.drawOn(canvas, archivoPDF.leftMargin, 15 * mm + (0.2 * inch))
 
        # Suelta el lienzo
        canvas.restoreState()
Exemplo n.º 43
0
def mylaterpages(canvas, doc):
    canvas.saveState()
    canvas.line(0 * inch, 0.01 * inch, 11.69 * inch, 0.01 * inch)
    canvas.line(0 * inch, 0 * inch, 0 * inch, 8.24 * inch)
    canvas.line(11.69 * inch, 0 * inch, 11.69 * inch, 8.24 * inch)
    canvas.line(0 * inch, 8.24 * inch, 11.69 * inch, 8.24 * inch)
    canvas.restoreState()
Exemplo n.º 44
0
    def confidential(self, canvas):
        canvas.saveState()

        canvas.translate(18.5 * cm, 27.4 * cm)

        canvas.setLineWidth(3)
        canvas.setFillColorRGB(1, 0, 0)
        canvas.setStrokeGray(0.5)

        p = canvas.beginPath()
        p.moveTo(10, 0)
        p.lineTo(20, 10)
        p.lineTo(30, 0)
        p.lineTo(40, 10)
        p.lineTo(30, 20)
        p.lineTo(40, 30)
        p.lineTo(30, 40)
        p.lineTo(20, 30)
        p.lineTo(10, 40)
        p.lineTo(0, 30)
        p.lineTo(10, 20)
        p.lineTo(0, 10)

        canvas.drawPath(p, fill=1, stroke=0)

        canvas.restoreState()
Exemplo n.º 45
0
def myFirstPage(canvas, doc):
    canvas.saveState()
    canvas.setFont('Times-Bold',16)
    canvas.drawCentredString(PAGE_WIDTH/2.0, PAGE_HEIGHT-108, Title)
    canvas.setFont('Times-Roman',9)
    canvas.drawString(inch, 0.75 * inch,"First Page / %s" % pageinfo)
    canvas.restoreState()
Exemplo n.º 46
0
    def _header_footer(canvas,doc):
        #guardamos el estado de nuestro canvas , para poder dibujar en el 
        canvas.saveState()
        canvas.setTitle("Cotizacion Cliente")
        styles = getSampleStyleSheet()

        #header
        header = Image('/home/borbolla/metrology/static_media/assets/images/borbolla_metrology_logo.jpg' )
        header.drawHeight = 60
        header.drawWidth = 424
        header.hAlign = 'RIGHT'
        w , h = header.wrap(doc.width , doc.topMargin)
        header.drawOn(canvas , doc.leftMargin , 700)
        
        marcas = Image('/home/borbolla/metrology/static_media/assets/images/marcas.png' )
        marcas.drawWidth = 90
        marcas.drawHeight = 477
        marcas.drawOn(canvas , 20,200) 
        
        marcas2 = Image('/home/borbolla/metrology/static_media/assets/images/logo.png' )
        marcas2.drawWidth = 116
        marcas2.drawHeight = 34
        marcas2.drawOn(canvas , 20,150) 

        # Footer
        footer = Paragraph('www.borbollametrology.com', styles['Normal'])
        w, h = footer.wrap(doc.width, doc.bottomMargin)
        footer.drawOn(canvas, doc.leftMargin, h)
 
        # Release the canvas
        canvas.restoreState()
Exemplo n.º 47
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()
Exemplo n.º 48
0
    def myFirstSummaryPage(self, canvas, doc):
        pagesize = portrait(letter)
        [PAGE_WIDTH, PAGE_HEIGHT] = pagesize[:2]
        PAGE_WIDTH = int(PAGE_WIDTH)
        PAGE_HEIGHT = int(PAGE_HEIGHT)

        canvas.saveState()
        canvas.setFont('Helvetica', 9)
        canvas.drawImage(cfg.secondPic, 0, 0, PAGE_WIDTH, PAGE_HEIGHT)
        canvas.drawString(
            54, 690,
            "Listed below, please find the results of our search for historic fire insurance maps from our in-house collection, performed in"
        )
        canvas.drawString(54, 678, "conjuction with your ERIS report.")
        canvas.drawString(
            54, 110,
            "Individual Fire Insurance Maps for the subject property and/or adjacent sites are included with the ERIS environmental database "
        )
        canvas.drawString(
            54, 98,
            "report to be used for research purposes only and cannot be resold for any other commercial uses other than for use in a Phase I"
        )
        canvas.drawString(54, 86, "environmental assessment.")
        canvas.restoreState()
        del canvas
Exemplo n.º 49
0
def draw_code128_sdaps_info(canvas, survey, page):
    # The page number is one based here already
    # The survey_id is a 32bit number, which means we need
    # 10 decimal digits to encode it, then we need to encode the
    # the page with at least 3 digits(just in case someone is insane enough
    # to have a questionnaire with more than 99 pages.
    # So use 10+4 digits

    barcode_value = "%010d%04d" % (survey.survey_id, page)
    barcode = createBarcodeDrawing("Code128",
                                   value=barcode_value,
                                   barWidth=defs.code128_barwidth / 25.4 *
                                   72.0,
                                   height=defs.code128_height / 25.4 * 72.0,
                                   quiet=False)

    y = survey.defs.paper_height - defs.corner_mark_bottom
    x = survey.defs.paper_width - defs.corner_mark_right

    barcode_y = y - defs.code128_vpad - defs.code128_height
    barcode_x = x - defs.code128_hpad

    # The barcode should be flush left.
    barcode_x = barcode_x - barcode.width / mm

    renderPDF.draw(barcode, canvas, barcode_x * mm, barcode_y * mm)

    # Label
    text_x = barcode_x + barcode.width / mm / 2.0
    text_y = barcode_y + defs.code128_height + 1 + defs.code128_text_font_size / 72.0 * 25.4 / 2.0

    canvas.saveState()
    canvas.setFont(defs.code128_text_font, defs.code128_text_font_size)
    canvas.drawCentredString(text_x * mm, text_y * mm, barcode_value)
    canvas.restoreState()
Exemplo n.º 50
0
def draw_code128_global_id(canvas, survey):
    if survey.global_id is None:
        raise AssertionError

    # Only allow ascii
    barcode_value = survey.global_id.encode('ascii')

    barcode = createBarcodeDrawing("Code128",
                                   value=barcode_value,
                                   barWidth=defs.code128_barwidth / 25.4 *
                                   72.0,
                                   height=defs.code128_height / 25.4 * 72.0,
                                   quiet=False)

    y = survey.defs.paper_height - defs.corner_mark_bottom
    x = (survey.defs.paper_width - defs.corner_mark_right +
         defs.corner_mark_left) / 2

    barcode_y = y - defs.code128_vpad - defs.code128_height
    barcode_x = x

    # Center
    barcode_x = barcode_x - barcode.width / mm / 2.0

    renderPDF.draw(barcode, canvas, barcode_x * mm, barcode_y * mm)

    # Label
    text_x = barcode_x + barcode.width / mm / 2.0
    text_y = barcode_y + defs.code128_height + 1 + defs.code128_text_font_size / 72.0 * 25.4 / 2.0

    canvas.saveState()
    canvas.setFont(defs.code128_text_font, defs.code128_text_font_size)
    canvas.drawCentredString(text_x * mm, text_y * mm, barcode_value)
    canvas.restoreState()
Exemplo n.º 51
0
def draw_code128_questionnaire_id(canvas, survey, id):
    # Only supports ascii for now (see also defs.py)
    barcode_value = unicode(id).encode('ascii')
    barcode = createBarcodeDrawing("Code128",
                                   value=barcode_value,
                                   barWidth=defs.code128_barwidth / 25.4 *
                                   72.0,
                                   height=defs.code128_height / 25.4 * 72.0,
                                   quiet=False)

    y = survey.defs.paper_height - defs.corner_mark_bottom
    x = defs.corner_mark_left

    barcode_y = y - defs.code128_vpad - defs.code128_height
    barcode_x = x + defs.code128_hpad

    # The barcode should be flush left.
    barcode_x = barcode_x

    renderPDF.draw(barcode, canvas, barcode_x * mm, barcode_y * mm)

    # Label
    text_x = barcode_x + barcode.width / mm / 2.0
    text_y = barcode_y + defs.code128_height + 1 + \
             defs.code128_text_font_size / 72.0 * 25.4 / 2.0

    canvas.saveState()
    canvas.setFont(defs.code128_text_font, defs.code128_text_font_size)
    canvas.drawCentredString(text_x * mm, text_y * mm, barcode_value)
    canvas.restoreState()
Exemplo n.º 52
0
 def myLaterPages(self,canvas, doc):
     canvas.saveState()
     canvas.setFont('Times-Roman',9)
     canvas.setStrokeColor('grey')
     canvas.rect(0.5*inch,0.5*inch, 7.27*inch, 10.6*inch,stroke=1, fill=0)
     canvas.drawString(PDF.PAGE_WIDTH*0.47, 0.8* inch, "Page %d " % (doc.page-1))
     canvas.restoreState()
Exemplo n.º 53
0
Arquivo: pdf.py Projeto: wichmann/bbss
def create_first_page(canvas, doc):
    canvas.saveState()
    canvas.setFont('Helvetica', 16)
    canvas.drawCentredString(PAGE_WIDTH/2.0, PAGE_HEIGHT-58, TITLE)
    canvas.setFont('Helvetica', 10)
    canvas.drawString(BORDER_HORIZONTAL, BORDER_VERTICAL, TITLE)
    canvas.drawRightString(PAGE_WIDTH-BORDER_HORIZONTAL , BORDER_VERTICAL, "Seite 1")
    canvas.restoreState()
 def draw_watermark(self, canvas):
     if self._watermark:
         canvas.saveState()
         canvas.rotate(60)
         canvas.setFillColorRGB(0.9, 0.9, 0.9)
         canvas.setFont('%s' % self.style.fontName, 120)
         canvas.drawCentredString(195*mm, -30*mm, self._watermark)
         canvas.restoreState()
Exemplo n.º 55
0
def myfirstpage(canvas, doc):
    canvas.saveState()
    canvas.line(0 * inch, 0.01 * inch, 11.69 * inch, 0.01 * inch)
    canvas.line(0 * inch, 0 * inch, 0 * inch, 8.24 * inch)
    canvas.line(11.69 * inch, 0 * inch, 11.69 * inch, 8.24 * inch)
    canvas.line(0 * inch, 8.23 * inch, 11.69 * inch, 8.23 * inch)
    canvas.setFont('Times-Bold', 16)
    canvas.restoreState()
Exemplo n.º 56
0
 def draw_heading(self, canvas):
     text = {'de': 'T3P-Konfiguration', 'en': 'T3P-Configuration'}
     canvas.saveState()
     canvas.setFont(self.font_bold, 14)
     canvas.setFillColorRGB(255, 255, 255)
     x = self.dina4[0]/2
     canvas.drawCentredString(x, 800, text[self.lang])
     canvas.restoreState()
Exemplo n.º 57
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()
Exemplo n.º 58
0
def laterPages(canvas, doc):
    canvas.saveState()
    canvas.setFont('Helvetica', 12)
    canvas.drawString(35, 750, "SuperBar")
    canvas.drawString(450, 750, titulo)
    actual = datetime.now()
    canvas.drawString(470, 735, actual.strftime('%Y-%m-%d'))
    canvas.restoreState()
 def page_template(self, canvas, doc):
     canvas.saveState()
     canvas.setFont(self.fontName,7)
     canvas.drawCentredString(defaultPageSize[0]/2, 40,_("Page %d") % doc.page)
     canvas.setFont(self.fontName,5)
     canvas.drawCentredString(defaultPageSize[0]/2, 20, (_("Document generated by Griffith v")+
         version.pversion+" - Copyright (C) "+version.pyear+" "+
         version.pauthor+" - " + _("Released Under the GNU/GPL License")).encode('utf-8'))
     canvas.restoreState()