Esempio 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()
Esempio n. 2
0
    def _vheader(canvas, doc, titulo, logo1=None, logo2=None, marcadeagua=''):
        #print('water en vheader', marcadeagua)
        # Save the state of our canvas so we can draw on it
        #canvas.setStrokeColor(lightgreen)
        canvas.setPageCompression(1)
        #canvas.setStrokeColorCMYK(1, 31, 0, 0)
        #canvas.setStrokeColorRGB(0, 0.7333333333333333, 0.6549019607843137 , 0.7)
        canvas.setStrokeColor(naranja)
        canvas.setLineWidth(1)
        canvas.saveState()
        canvas.setTitle(titulo)
        canvas.setSubject('Pictopartos')
        canvas.setAuthor('Matronas y TCAE del H.U.Miguel Servet. Zaragoza')
        canvas.setCreator('https://pictopartos.es')
        canvas.setKeywords([
            'pictos', 'matronas', 'auxiliares', 'partos', 'arasaac', 'HUMS',
            'TCAE'
        ])
        #canvas.translate(0,doc.height)
        canvas.rotate(-90)
        if logo1:
            #logo_salud = imagen(settings.STATICFILES_DIRS[0]+'/logos/salud.png', 28)
            logo_salud = imagen(logo1, 28)
            logo_salud.drawOn(canvas, -doc.height - doc.topMargin,
                              doc.width + doc.leftMargin + 16)
        if logo2:
            #logo_arasaac = imagen(settings.STATICFILES_DIRS[0]+'/logos/arasaac.png', 28)
            logo_arasaac = imagen(logo2, 28)
            logo_arasaac.drawOn(canvas,
                                -doc.topMargin - logo_arasaac.drawWidth,
                                doc.width + doc.leftMargin + 16)
        styles = getSampleStyleSheet()
        header = Paragraph(titulo, styles['Title'])
        header2 = Paragraph(
            'Pictopartos - Matronas y TCAE del HUMS. Pictogramas de @arasaac',
            styles['Italic'])
        w, h = header.wrap(doc.height, doc.leftMargin)
        header.drawOn(
            canvas, -doc.height - doc.topMargin, doc.width + doc.leftMargin +
            24)  #doc.leftMargin, doc.height + doc.topMargin - h + 12)
        w2, h2 = header2.wrap(doc.height, doc.leftMargin)
        header2.drawOn(
            canvas, -doc.height - doc.topMargin, doc.width + doc.leftMargin +
            4)  #doc.leftMargin, doc.height + doc.topMargin - h + 12)
        hr = HRFlowable(width='100%', thickness=0.2, color=naranja)
        hr.wrap(doc.height, doc.topMargin)
        hr.drawOn(canvas, -doc.height - doc.topMargin,
                  doc.width + doc.leftMargin)

        if marcadeagua:
            #print ('EStoy letra a 50')
            canvas.rotate(90)
            canvas.setFont("Courier-Bold", 46)
            canvas.setFillColor(naranja, 0.25)
            #This next setting with make the text of our
            #watermark gray, nice touch for a watermark.
            #canvas.setFillGray(0.2,0.2)
            #Set up our watermark document. Our watermark
            #will be rotated 45 degrees from the direction
            #of our underlying document.
            canvas.translate(500, 100)
            canvas.rotate(35)
            canvas.drawCentredString(45, 200, marcadeagua)
        canvas.restoreState()