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()
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 draw_page(canvas, doc): """Method to format my pdfs.""" title = "CPIMS" author = "CPIMS" canvas.setTitle(title) canvas.setSubject(title) canvas.setAuthor(author) canvas.setCreator(author) # footer = [] # Put some data into the footer # Frame(2 * cm, 0, 17 * cm, 4 * cm).addFromList(footer, canvas) canvas.saveState() # Header canvas.drawString(0.5 * inch, 8 * inch, doc.fund_name) canvas.drawRightString(10.5 * inch, 8 * inch, doc.report_info) # Footers canvas.setFont("Helvetica", 8) canvas.drawString(0.5 * inch, 0.5 * inch, '') canvas.drawRightString( 11.2 * inch, 0.38 * inch, 'Source : %s' % (doc.source)) canvas.setFont("Helvetica", 240) # self.setFont("Helvetica", 8) canvas.setStrokeGray(0.90) canvas.setFillGray(0.90) # canvas.rotate(45) canvas.restoreState()
def header(canvas, doc): # Save the state of our canvas so we can draw on it canvas.saveState() canvas.setFont("Times-Roman", 12) left = 0.98 * inch right = 600 - 0.59 * inch y = 731 canvas.setTitle("documento_oficial_webCGAE") fn = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'static/Atividades/icon_ifc2.jpg') canvas.drawImage(fn, 10.2 * cm, 770, width=40, height=40) canvas.drawCentredString(11.0 * cm, 760, "Ministério da Educação") canvas.drawCentredString( 11.0 * cm, 747, "Secretaria de Educação Profissional e Tecnológica") canvas.drawCentredString(11.0 * cm, 735, "Instituto Federal Catarinense") canvas.line(left, y, right, y) canvas.setFont("Times-Roman", 10) canvas.line(left, y - 24.4 * cm, right, y - 24.4 * cm) fn = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'static/Atividades/icon_ifc.png') canvas.drawImage(fn, left + 10, y - 25.7 * cm, width=140, height=35) canvas.drawRightString(550, y - 24.8 * cm, "Rua das Missões, 100 - Ponta Aguda") canvas.drawRightString(550, y - 25.2 * cm, "Blumenau/SC - CEP: 89.051-000") canvas.drawRightString(550, y - 25.6 * cm, "(47) 3331-7800 / [email protected]") # Release the canvas canvas.restoreState()
def plantilla_comprobante(canvas,doc): canvas.saveState() canvas.setTitle('Titulo2') canvas.setSubject('Titulo3') canvas.setFont('Times-Bold',10) canvas.rect(15,65, COMPROBANTE_WIDTH-30, COMPROBANTE_HEIGHT-80) canvas.rect(15,65, COMPROBANTE_WIDTH-30, COMPROBANTE_HEIGHT-150) canvas.rect(15,15, COMPROBANTE_WIDTH-30,50) #canvas.drawCentredString(PAGE_WIDTH/2.0 , PAGE_HEIGHT , TITULO) canvas.drawCentredString(COMPROBANTE_WIDTH/2.0 , 20 , PIE_PAGINA) #canvas.drawString(inch , 10.5 * inch,TITULO) canvas.setFont('Times-Roman',9) canvas.drawString(inch , 0.75 * inch,'Pagina %s '%doc.page) canvas.restoreState()
def _initCanvas(self, canvas): canvas._indexAdd = self._indexAdd canvas.manager = self if self.pageLayout: canvas._doc._catalog.setPageLayout(self.pageLayout) if self.pageMode: canvas._doc._catalog.setPageMode(self.pageMode) for name, option in DocInit.viewerOptions.items(): if getattr(self, name) is not None: canvas.setViewerPreference(option, getattr(self, name)) # Setting annotations. data = dict(self.getAttributeValues( select=('title', 'subject', 'author', 'creator'))) canvas.setTitle(data.get('title')) canvas.setSubject(data.get('subject')) canvas.setAuthor(data.get('author')) canvas.setCreator(data.get('creator'))
def _header_factura(canvas,doc): #guardamos el estado de nuestro canvas , para poder dibujar en el canvas.saveState() canvas.setTitle("Factura") styles = getSampleStyleSheet() #header header = Image('/home/borbolla/metrology/static_media/assets/images/logo_servicio.png' ) header.drawHeight = 70 header.drawWidth = 399 header.hAlign = 'RIGHT' w , h = header.wrap(doc.width , doc.topMargin) header.drawOn(canvas , doc.leftMargin , 700) # 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()
def write_title_and_credits(canvas, text, nib_width, partitions, angles, pagesize, horizontal = False): canvas.setFillColorRGB(0, 0, 0, 1) if not horizontal: canvas.rotate(90) t = canvas.beginText() if text: canvas.setTitle(text) t.setTextOrigin(10*mm, 3*mm) t.setFont("Times-Italic", 20) t.textOut(text) t.setFont("Times-Italic", 10) t.textOut(" (%smm nib, Partitions:%s, angles:%s)"%(nib_width, partitions, angles)) # canvas.setFillColorRGB(0, 0, 0, 0.2) # w,l = (float(x)/100 for x in A4) # print w,",",l if not horizontal: t.setTextOrigin(10*mm, -pagesize[0]-5*mm) t.setFont("Times-Roman", 10) t.textOut(" Generated using ") t.setFont("Times-Italic", 10) t.textOut("http://calligraffiti.in/rulings") canvas.drawText(t)
def HeaderFooterSolicitudes(canvas,doc): canvas.saveState() title = "Reporte de las solicitudes - SolicitudeDV" canvas.setTitle(title) Story=[] styles = getSampleStyleSheet() archivo_imagen = finders.find('img/MDHV.png') canvas.drawImage(archivo_imagen, 30, 740, width=540,height=100,preserveAspectRatio=True) fecha = datetime.now().strftime('%d/%m/%Y ') # Estilos de Párrafos ta_c = ParagraphStyle('parrafos', alignestt = TA_CENTER, fontSize = 11, fontName="Helvetica-Bold", ) ta_l = ParagraphStyle('parrafos', alignestt = TA_LEFT, fontSize = 13, fontName="Helvetica-Bold", ) ta_l7 = ParagraphStyle('parrafos', alignestt = TA_LEFT, fontSize = 7, fontName="Helvetica-Bold", ) ta_r = ParagraphStyle('parrafos', alignestt = TA_RIGHT, fontSize = 13, fontName="Helvetica-Bold", ) # Header header = Paragraph("<u>REPORTE DE LAS SOLICITUDES</u> ",ta_l,) w,h = header.wrap(doc.width-130, doc.topMargin) header.drawOn(canvas, 35, doc.height +10 + doc.topMargin - 25) header1 = Paragraph("<u>MINISTERIO DE HÁBITAT Y VIVIENDA</u> ",ta_r,) w,h = header1.wrap(doc.width-115, doc.topMargin) header1.drawOn(canvas, 180, doc.height +40 + doc.topMargin - 2) P1 = Paragraph('''<b>N°</b>''',ta_c) P2 = Paragraph('''<b>NUMERO DE OFICIO</b>''',ta_c) P3 = Paragraph('''<b>SOLICITANTE</b>''',ta_c) P4 = Paragraph('''<b>FECHA</b>''',ta_c) data= [[P1, P2, P3, P4]] header2 = Table(data, colWidths = [35,150,150,80,255]) header2.setStyle(TableStyle( [ ('GRID', (0, -1), (-1, -1), 1, colors.black), ('BACKGROUND', (0, 0), (-1, 0), colors.lightyellow) ] )) w,h = header2.wrap(doc.width-115, doc.topMargin) header2.drawOn(canvas, 75, doc.height +5 + doc.topMargin - 60) # Llamado del Modelo Director #director = get_object_or_404(Director) #if director.sexo == "Feestino": # sexo = "DIRECTORA" #else: # sexo = "DIRECTOR" # FOOTER footer = Paragraph("Atentamente,",ta_c) w, h = footer.wrap(doc.width -125, doc.bottomMargin -275) footer.drawOn(canvas, doc.height -230, doc.topMargin +35, h) footer1 = Paragraph("_______________________________",ta_c) w, h = footer1.wrap(doc.width -120, doc.bottomMargin - 15) footer1.drawOn(canvas, doc.height -290, doc.topMargin -1, w) footer2 = Paragraph("Luis R" + " Jiménez R",ta_c) w, h = footer2.wrap(doc.width -240, doc.bottomMargin -275) footer2.drawOn(canvas,doc.height -240, doc.topMargin -15, h) footer3 = Paragraph("Director Estadal"+" De Hábitat" + " y Vivienda",ta_c) w, h = footer3.wrap(doc.width -250, doc.bottomMargin) footer3.drawOn(canvas,doc.height -290, doc.topMargin -30, h) footer4 = Paragraph("Del Estado "+"Portuguesa",ta_c) w, h = footer4.wrap(doc.width -300, doc.bottomMargin) footer4.drawOn(canvas,doc.height -250, doc.topMargin -45, h) footer5 = Paragraph("Publicada en gaceta oficial Nº "+ " 41.356 " + " de fecha 08/03/2018",ta_c) w, h = footer5.wrap(doc.width -200, doc.bottomMargin) footer5.drawOn(canvas,doc.height -355, doc.topMargin -60, h) footer6 = Paragraph("Designada mendiante resolución Nº"+" 055 de fecha 06/03/2018",ta_c) w, h = footer6.wrap(doc.width -150, doc.bottomMargin) footer6.drawOn(canvas,doc.height -360, doc.topMargin -75, h) footer7 = Paragraph("Fecha de expedición: "+str(fecha),ta_l7) w, h = footer7.wrap(doc.width -200, doc.bottomMargin) footer7.drawOn(canvas,doc.height -470, doc.topMargin -185, h) canvas.restoreState()
def HeaderFooterInspeccionIndividual(canvas,doc): canvas.saveState() title = "Reporte de inspeccion - Vivienda" canvas.setTitle(title) Story=[] styles = getSampleStyleSheet() archivo_imagen = "static/img/MDHV.png" canvas.drawImage(archivo_imagen, 30, 740, width=540,height=100,preserveAspectRatio=True) fecha = datetime.now().strftime('%d/%m/%Y ') # Estilos de Párrafos ta_c = ParagraphStyle('parrafos', alignestt = TA_CENTER, fontSize = 11, fontName="Helvetica-Bold", ) ta_l = ParagraphStyle('parrafos', alignestt = TA_LEFT, fontSize = 13, fontName="Helvetica-Bold", ) ta_l7 = ParagraphStyle('parrafos', alignestt = TA_LEFT, fontSize = 7, fontName="Helvetica-Bold", ) ta_r = ParagraphStyle('parrafos', alignestt = TA_RIGHT, fontSize = 13, fontName="Helvetica-Bold", ) # FOOTER footer = Paragraph("Atentaestte,",ta_c) w, h = footer.wrap(doc.width -125, doc.bottomMargin -275) footer.drawOn(canvas, doc.height -420, doc.topMargin +15, h) footer1 = Paragraph("___________________________",ta_c) w, h = footer1.wrap(doc.width -115, doc.bottomMargin - 15) footer1.drawOn(canvas, doc.height -430, doc.topMargin -15, w) footer2 = Paragraph("Limber" + " Monsalve",ta_c) w, h = footer2.wrap(doc.width -240, doc.bottomMargin -275) footer2.drawOn(canvas,doc.height -365, doc.topMargin -30, h) footer3 = Paragraph("COORDINADOR"+" DE PAA",ta_c) w, h = footer3.wrap(doc.width -300, doc.bottomMargin) footer3.drawOn(canvas,doc.height -336, doc.topMargin -45, h) footer4 = Paragraph("Según Resolución N°"+"1234",ta_c) w, h = footer4.wrap(doc.width -300, doc.bottomMargin) footer4.drawOn(canvas,doc.height -338, doc.topMargin -60, h) footer5 = Paragraph("De Fecha "+"2017",ta_c) w, h = footer5.wrap(doc.width -300, doc.bottomMargin) footer5.drawOn(canvas,doc.height -340, doc.topMargin -75, h) footer6 = Paragraph("Fecha de expedición: "+str(fecha),ta_l7) w, h = footer6.wrap(doc.width -200, doc.bottomMargin) footer6.drawOn(canvas,doc.height -510, doc.topMargin -139, h) canvas.restoreState()
def HeaderFooterCitaIndividual(canvas,doc): canvas.saveState() title = "Reporte de Cita - Vivienda" canvas.setTitle(title) Story=[] styles = getSampleStyleSheet() archivo_imagen = "static/img/MDHV.png" canvas.drawImage(archivo_imagen, 30, 740, width=540,height=100,preserveAspectRatio=True) fecha = datetime.now().strftime('%d/%m/%Y ') # Estilos de Párrafos ta_c = ParagraphStyle('parrafos', alignestt = TA_CENTER, fontSize = 11, fontName="Helvetica-Bold", ) ta_l = ParagraphStyle('parrafos', alignestt = TA_LEFT, fontSize = 13, fontName="Helvetica-Bold", ) ta_l7 = ParagraphStyle('parrafos', alignestt = TA_LEFT, fontSize = 7, fontName="Helvetica-Bold", ) ta_r = ParagraphStyle('parrafos', alignestt = TA_RIGHT, fontSize = 13, fontName="Helvetica-Bold", ) # Header header = Paragraph("<u>REPORTE DE CITAS</u> ",ta_l,) w,h = header.wrap(doc.width-130, doc.topMargin) header.drawOn(canvas, 100, doc.height +20 + doc.topMargin - 2) header1 = Paragraph("<u>MINISTERIO DE HÁBITAT Y VIVIENDA</u> ",ta_r,) w,h = header1.wrap(doc.width-115, doc.topMargin) header1.drawOn(canvas, 175, doc.height +65 + doc.topMargin - 5) # Llamado del Modelo Director #director = get_object_or_404(Director) #if director.sexo == "Feestino": # sexo = "DIRECTORA" #else: # sexo = "DIRECTOR" # FOOTER footer = Paragraph("Atentamente,",ta_c) w, h = footer.wrap(doc.width -125, doc.bottomMargin -275) footer.drawOn(canvas, doc.height -245, doc.topMargin +35, h) footer1 = Paragraph("_______________________________",ta_c) w, h = footer1.wrap(doc.width -115, doc.bottomMargin - 15) footer1.drawOn(canvas, doc.height -300, doc.topMargin -1, w) footer2 = Paragraph("Luis R" + " Jiménez R",ta_c) w, h = footer2.wrap(doc.width -240, doc.bottomMargin -275) footer2.drawOn(canvas,doc.height -255, doc.topMargin -15, h) footer3 = Paragraph("Director Estadal"+" De Hábitat" + " y Vivienda",ta_c) w, h = footer3.wrap(doc.width -250, doc.bottomMargin) footer3.drawOn(canvas,doc.height -315, doc.topMargin -30, h) footer4 = Paragraph("Del Estado "+"Portuguesa",ta_c) w, h = footer4.wrap(doc.width -300, doc.bottomMargin) footer4.drawOn(canvas,doc.height -275, doc.topMargin -45, h) footer5 = Paragraph("Publicada en gaceta oficial Nº "+ " 41.356 " + " de fecha 08/03/2018",ta_c) w, h = footer5.wrap(doc.width -200, doc.bottomMargin) footer5.drawOn(canvas,doc.height -355, doc.topMargin -60, h) footer6 = Paragraph("Designada mendiante resolución Nº"+" 055 de fecha 06/03/2018",ta_c) w, h = footer6.wrap(doc.width -150, doc.bottomMargin) footer6.drawOn(canvas,doc.height -360, doc.topMargin -75, h) footer6 = Paragraph("Fecha de expedición: "+str(fecha),ta_l7) w, h = footer6.wrap(doc.width -200, doc.bottomMargin) footer6.drawOn(canvas,doc.height -490, doc.topMargin -159, h) canvas.restoreState()
def HeaderFooterPersona(canvas, doc): canvas.saveState() title = "Reporte de Personas" canvas.setTitle(title) Story = [] styles = getSampleStyleSheet() archivo_imagen = finders.find('assets/img/logo.jpg') canvas.drawImage(archivo_imagen, 30, 720, width=540, height=100, preserveAspectRatio=True) fecha = datetime.now().strftime('%d/%m/%Y ') # Estilos de Párrafos ta_c = ParagraphStyle( 'parrafos', alignment=TA_CENTER, fontSize=10, fontName="Helvetica", ) ta_l = ParagraphStyle( 'parrafos', alignment=TA_LEFT, fontSize=13, fontName="Helvetica-Bold", ) ta_l7 = ParagraphStyle( 'parrafos', alignment=TA_LEFT, fontSize=7, fontName="Helvetica-Bold", ) ta_r = ParagraphStyle( 'parrafos', alignment=TA_RIGHT, fontSize=13, fontName="Helvetica-Bold", ) # Header header = Paragraph( "REPORTE DE PERSONAS ", ta_l, ) w, h = header.wrap(doc.width + 250, doc.topMargin) header.drawOn(canvas, 215, doc.height - 10 + doc.topMargin - 80) #header1 = Paragraph("<u>DIRECCIÓN DE AGRICULTURA Y TIERRA</u> ",ta_r,) #w,h = header1.wrap(doc.width-115, doc.topMargin) #header1.drawOn(canvas, 140, doc.height -10 + doc.topMargin - 2) P1 = Paragraph('''N°''', ta_c) P2 = Paragraph('''CEDULA''', ta_c) P3 = Paragraph('''NOMBRE''', ta_c) P4 = Paragraph('''APELLIDO''', ta_c) P5 = Paragraph('''CORREO''', ta_c) P6 = Paragraph('''ROL''', ta_c) data = [[P1, P2, P3, P4, P5, P6]] header2 = Table(data, colWidths=[35, 85, 80, 80, 150, 80]) header2.setStyle( TableStyle([ ('GRID', (0, -1), (-1, -1), 1, colors.black), ('BACKGROUND', (0, 0), (-1, 0), '#50b7e6'), ('ALIGN', (0, 0), (-1, -3), "CENTER"), ])) w, h = header2.wrap(doc.width - 115, doc.topMargin) header2.drawOn(canvas, 42.5, doc.height - 40 + doc.topMargin - 93) # FOOTER footer4 = Paragraph("Fecha: " + str(fecha), ta_l7) w, h = footer4.wrap(doc.width - 200, doc.bottomMargin) footer4.drawOn(canvas, doc.height - 105, doc.topMargin + 620, h) canvas.restoreState()
def HeaderFooterTrans(canvas, doc): canvas.saveState() title = "Reporte de Transacciones" canvas.setTitle(title) Story = [] styles = getSampleStyleSheet() archivo_imagen = finders.find('assets/img/logo.jpg') canvas.drawImage(archivo_imagen, 30, 720, width=540, height=100, preserveAspectRatio=True) fecha = datetime.now().strftime('%d/%m/%Y ') # Estilos de Párrafos ta_c = ParagraphStyle( 'parrafos', alignment=TA_CENTER, fontSize=10, fontName="Helvetica", ) ta_l = ParagraphStyle( 'parrafos', alignment=TA_LEFT, fontSize=13, fontName="Helvetica-Bold", ) ta_l7 = ParagraphStyle( 'parrafos', alignment=TA_LEFT, fontSize=7, fontName="Helvetica-Bold", ) ta_r = ParagraphStyle( 'parrafos', alignment=TA_CENTER, fontSize=11, fontName="Helvetica-Bold", ) # Header header = Paragraph( "REPORTE DE TRANSACCIONES ", ta_l, ) w, h = header.wrap(doc.width + 250, doc.topMargin) header.drawOn(canvas, 215, doc.height - 10 + doc.topMargin - 80) total1 = Paragraph( "Total: " + str(total) + " bs.", ta_l, ) w, h = total1.wrap(doc.width + 250, doc.topMargin) total1.drawOn(canvas, 425, doc.height - 10 + doc.topMargin - 60) meses = Paragraph( "Mes: " + str(mes1) + ".", ta_l, ) w, h = meses.wrap(doc.width + 250, doc.topMargin) meses.drawOn(canvas, 75, doc.height - 10 + doc.topMargin - 60) #header1 = Paragraph("<u>DIRECCIÓN DE AGRICULTURA Y TIERRA</u> ",ta_r,) #w,h = header1.wrap(doc.width-115, doc.topMargin) #header1.drawOn(canvas, 140, doc.height -10 + doc.topMargin - 2) P1 = Paragraph('''N°''', ta_c) P2 = Paragraph('''FECHA''', ta_c) P3 = Paragraph('''TIPO''', ta_c) P4 = Paragraph('''MONTO''', ta_c) data = [[P1, P2, P3, P4]] header2 = Table(data, colWidths=[35, 85, 80, 250]) header2.setStyle( TableStyle([ ('GRID', (0, -1), (-1, -1), 1, colors.black), ('BACKGROUND', (0, 0), (-1, 0), '#50b7e6'), ('ALIGN', (0, 0), (-1, -3), "CENTER"), ])) w, h = header2.wrap(doc.width - 115, doc.topMargin) header2.drawOn(canvas, 72.5, doc.height - 40 + doc.topMargin - 93) # FOOTER footer4 = Paragraph("Fecha: " + str(fecha), ta_l7) w, h = footer4.wrap(doc.width - 200, doc.bottomMargin) footer4.drawOn(canvas, doc.height - 105, doc.topMargin + 620, h) canvas.restoreState()
import sys import os from textwrap import wrap from BeautifulSoup import BeautifulSoup import urllib2 import requests import re canvas = canvas.Canvas("Report1.pdf", pagesize=letter) t = canvas.beginText() canvas.setLineWidth(.3) canvas.setFont('Helvetica', 12) styles = getSampleStyleSheet() styles.add(ParagraphStyle(name='centered', alignment=TA_CENTER)) c = canvas canvas.setTitle("Scan output") def hello(c): from reportlab.lib.units import inch #First Example c.setFillColorRGB(1, 0, 0) #choose your font colour c.setFont("Helvetica", 30) #choose your font type and font size c.drawString(30, 760, "BoxSec") # write your text hello(c) canvas.setLineWidth(.3) canvas.setFont('Helvetica', 12)
def _drawPage(self, canvas, doc): canvas.setSubject('Letter Subject') canvas.setTitle('Letter Title') canvas.setAuthor('Me')