def pdf(): try: path = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'form.pdf') os.remove(path) except FileNotFoundError: pass now = datetime.datetime.now() from reportlab.pdfgen import canvas canvas = canvas.Canvas("form.pdf", pagesize=letter) canvas.setLineWidth(.3) canvas.setFont('Helvetica', 12) canvas.drawString(450, 50, 'CREATED BY SOLARIS') canvas.drawString( 500, 750, "{day}/{month}/{year}".format(day=now.day, month=now.month, year=now.year)) canvas.line(480, 747, 580, 747) canvas.setFont('Helvetica', 18) canvas.drawString(225, 725, 'Performance metric') canvas.setFont('Helvetica', 12) canvas.drawString(50, 670, 'Information:') canvas.setFont('Helvetica', 11) canvas.drawString(70, 630, '- This data is based on Solaris algorithm') canvas.drawString(70, 600, '- Frequency - 1 FPS') canvas.drawInlineImage('dio.png', 80, 250, height=270, width=480) canvas.save() return None
def pdf(name, adult, children, total, date_time, counter): from reportlab.pdfgen import canvas canvas = canvas.Canvas("static/website/pdf/print.pdf", pagesize=(300, 360)) canvas.setLineWidth(.3) canvas.setFont('Helvetica', 19) canvas.drawInlineImage("static/website/images/butterfly.jpeg", 82, 303, width=46, height=46) canvas.drawString(138, 340, 'The') canvas.drawString(138, 322, 'Butterfly') canvas.drawString(138, 300, 'Corner') canvas.setFont('Helvetica', 14) canvas.drawString(220, 300, 'Sr. No : ' + str(counter)) canvas.line(10, 291, 290, 291) canvas.drawInlineImage("qrcodes/qrcode.png", 72, 131, width=155, height=155) canvas.line(10, 124, 290, 124) canvas.setFont('Helvetica', 16) canvas.drawString(20, 100, 'Total : ' + total + ' THB') canvas.setFont('Helvetica', 14) canvas.drawString(20, 80, 'Date & Time : ' + date_time) canvas.drawString(20, 60, 'Name : ' + name) canvas.drawString(20, 40, 'Adult : ' + adult) canvas.drawString(170, 40, 'Children : ' + children) canvas.save()
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)
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)
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)
def myFirstPage(canvas, doc): canvas.saveState() canvas.setFont(font_choice,24) canvas.drawCentredString(PAGE_WIDTH/2.0, top_position-0.2*inch, header_text) canvas.setFont(font_choice, 14) canvas.drawString(0.7*inch+logo_boxsize[0], top_position-0.6*inch, 'Observer: ' + observer_text) canvas.drawString(0.7*inch+logo_boxsize[0], top_position-0.8*inch, 'Instrument: ' + instrument_text) canvas.drawString(8.5*inch-(0.7*inch+logo_boxsize[0]), top_position-0.6*inch, 'Date: ' + date_text) canvas.drawString(8.5*inch-(0.7*inch+logo_boxsize[0]), top_position-0.8*inch, 'Program: ' + program_text) canvas.drawInlineImage(logoimage,0.3*inch,top_position - logo_boxsize[1],width=logo_boxsize[0], height=logo_boxsize[1],preserveAspectRatio=True,anchor='nw') canvas.restoreState()
def addImage(snbFile,canvas,image,rels,element): imgFileName = "snote/"+rels[image.getAttribute("r:id")] imgStr = zipRead(snbFile,imgFileName) if imgFileName.endswith(".zdib"): imgStr = decompress(imgStr) width = ord(imgStr[5]) * 256 + ord(imgStr[4]) height = ord(imgStr[9]) * 256 + ord(imgStr[8]) img = Image.fromstring("RGBA",(width,height),imgStr[52:]) canvas.drawInlineImage(alpha_to_color(img),0,0,595.27,841.89) else: style = imagePoss(element.getElementsByTagName("v:shape")[0].getAttribute("style")) img=Image.open(BytesIO(imgStr)) canvas.drawInlineImage(img,style.left,style.bottom,style.width,style.height)
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 drawMap(canvas, center, pageOrigin=(0,0), pageSize=pagesizes.letter, zoom=18, dpi=300): outputTileSize = units.inch * center.size / dpi # Calculate the size of the page in tiles, rounding up tileGrid = (int(pageSize[0] / outputTileSize + 1), int(pageSize[1] / outputTileSize + 1)) for y in xrange(-tileGrid[1]/2, tileGrid[1]/2+2): for x in xrange(-tileGrid[0]/2, tileGrid[0]/2+2): tile = center.translate(x, y) print "Tile %d,%d" % (x,y) canvas.drawInlineImage(tile.getImage(), pageOrigin[0] + pageSize[0]/2 + x * outputTileSize, pageOrigin[1] + pageSize[1]/2 - y * outputTileSize, outputTileSize, outputTileSize)
def codigo_qr(canvas, cabecera): size_qr = 35*mm posicion_qr = (1.5*margin, 7*mm) posicion_afip = (posicion_qr[0]+40*mm, -40*mm) qr = make_qr(cabecera["url_qr"]) canvas.drawInlineImage(qr, posicion_qr[0], posicion_qr[1], width=size_qr, height=size_qr) canvas.drawImage(cabecera['logo_afip'], posicion_afip[0], posicion_afip[1], width=size_qr*1.1, preserveAspectRatio=True, mask='auto') canvas.setFont(font_bld, 10) canvas.drawString(posicion_qr[0] + size_qr + 5*mm, posicion_qr[1] + 15*mm, 'Comprobante Autorizado') canvas.saveState() canvas.restoreState()
def pdf_draw_header(canvas, country): dir = os.path.dirname(__file__) logo = os.path.join(dir, 'logo.jpg') canvas.drawInlineImage(logo, RIGHT_COLUMN, 23.7*cm, width=1*cm, height=1*cm) canvas.setFont('Helvetica', 16) canvas.drawString(RIGHT_COLUMN + 1.2*cm, 24*cm, u"Browsershots") drawStrings(canvas, RIGHT_COLUMN, 23*cm, 12, u"Johann C. Rocholl", u"Pütnitzer Str. 12", u"18311 Ribnitz-Damgarten") if country == 'DE': canvas.drawString(RIGHT_COLUMN, 21.5*cm, u"Deutschland") else: canvas.drawString(RIGHT_COLUMN, 21.5*cm, u"Germany") canvas.drawString(RIGHT_COLUMN, 20.5*cm, "*****@*****.**")
def pdf(name, adult, children, total, time): from reportlab.pdfgen import canvas canvas = canvas.Canvas("static/website/pdf/print.pdf", pagesize=(300, 500)) canvas.setLineWidth(.3) canvas.setFont('Helvetica', 19) canvas.drawInlineImage("static/website/images/butterfly.jpeg", 82, 443, width=46, height=46) canvas.drawString(138, 470, 'Butterfly') canvas.drawString(138, 447, 'Garden') canvas.line(10, 431, 290, 431) canvas.drawInlineImage("qrcodes/qrcode.png", 72, 271, width=155, height=155) canvas.line(10, 264, 290, 264) canvas.setFont('Helvetica', 16) canvas.drawString(20, 240, 'Total : ' + str(total)) canvas.setFont('Helvetica', 12) canvas.drawString(20, 220, 'Name : ' + str(name)) canvas.drawString(20, 200, 'Adult : ' + str(adult)) canvas.drawString(170, 200, 'Children : ' + str(children)) canvas.drawString(20, 185, 'Time : ' + str(time)) canvas.line(10, 169, 290, 169) canvas.line(10, 170, 290, 170) canvas.drawInlineImage("qrcodes/qrcode.png", 72, 10, width=155, height=155) canvas.save()
def numeroPagina(self,canvas,doc): num = canvas.getPageNumber() text = "Página %s" % num saldo_final='201902' #dinamica fecha_footer='martes, 5 de marzo del 2019' #dinamica #HEADER canvas.setLineWidth(0.1) canvas.setFont('Helvetica',9) canvas.drawString(15,570,'Red:') canvas.drawString(90,570,'HUAMANGA:') canvas.drawString(15,560,'MicroRed:') canvas.drawString(90,560,'OCROS:') canvas.drawString(15,550,'Establecimiento:') canvas.drawString(90,550,'PS. CHUMBES:') canvas.drawString(180,550,'Saldos Finales: {}'.format(saldo_final)) canvas.line(10, 70, 830, 70) canvas.rect(440,45,50,15) canvas.drawString(370,50,'Sub Total Venta') canvas.drawString(10,50,fecha_footer) #logo canvas.drawInlineImage(self.logo_filename, 700,540 ,100,30) canvas.drawString(690,530,'Informe de consumo Integrado ICI') canvas.drawRightString(800, 50, text)
canvas.setFont('Helvetica', 10) canvas.setFillColorRGB(32, 5, 137) canvas.drawString(35, 550, 'Address:') canvas.drawString(35, 540, address) canvas.drawString(35, 530, 'Private Key:') canvas.drawString(35, 520, private_key) canvas.drawString(35, 510, 'Public Key:') canvas.drawString(35, 500, public_key) scaler = .75 canvas.drawInlineImage('code.png', 25, 250, width=qr_width * scaler, height=qr_height * scaler) canvas.drawInlineImage('logo.png', qr_width * scaler + 25, 250, width=qr_width * scaler, height=qr_height * scaler) canvas.drawInlineImage('code.png', qr_width * scaler + qr_width * scaler + 25, 250, width=qr_width * scaler, height=qr_height * scaler) canvas.save()
letters = string.digits return ''.join(random.choice(letters) for i in range(stringLength)) generated = randomString(10) print("Generatin report for trip#" + generated) canvas = canvas.Canvas('Trip ' + generated + '.pdf') image = treepoem.generate_barcode(barcode_type='code39', data=generated) image.convert('1').save('barcode.png') print('Done.') canvas.setFont("Helvetica", 35) canvas.drawCentredString( 300, 750, 'TRIP#' + generated, ) canvas.setFont("Helvetica", 6) canvas.drawCentredString( 300, 735, 'Generated on ' + str(now), ) canvas.drawInlineImage('barcode.png', 110, 50) canvas.showPage() canvas.save()
def add_image(canvas,title,image,scale=SCALE): canvas.drawText(new_textobject(title,canvas,TITLE_X,TITLE_Y)) w, h = ImageReader(image).getSize() canvas.drawInlineImage(image,IMAGE_ORIGIN_X,IMAGE_ORIGIN_Y,w * scale,h * scale) canvas.showPage()
from reportlab.pdfgen import canvas """ Canvas imagem canvas.drawImage(self, image, x, y, width=None, height=None, mask=None) canvas.drawInlineImage(self, image, x, y, width=None, height=None) There are two similar-sounding ways to draw images. The preferred one is the drawImage method. This implements a caching system so you can define an image once and draw it many times; it will only be stored once in the PDF file. `drawImage` also exposes one advanced parameter, a transparency mask, and will expose more in future. The older technique, `drawInlineImage`, stores bitmaps within the page stream and is thus very inefficient if you use the same image more than once in a document; but can result in PDFs which render faster if the images are very small and not repeated. """ canvas = canvas.Canvas("pdfs/extra-011.pdf") canvas.drawImage("static/python-logo.png", 100,400, width=150, height=150, mask='auto') canvas.drawInlineImage("static/python-logo.png", 100, 700) canvas.showPage() canvas.save()
def pdf_report(): canvas.setLineWidth(.3) canvas.setFont('Helvetica', 8) cpu_graph = Image.open("Images/cpu_utilization.png") memory_graph = Image.open("Images/memory_usage.png") canvas.drawString(30, 750, 'Data de Revisão:') canvas.drawString(95, 750, datetime.now().strftime("%d/%m/%Y")) canvas.drawString(263, 750, "Chamado OTRS:") canvas.drawString(325, 750, otrs) canvas.drawString(255, 720, 'Dados Gerais do Servidor') canvas.drawString(30, 695, 'Nome: ') canvas.drawString(55, 695, host_name) canvas.drawString(115, 695, 'IP:') canvas.drawString(127, 695, host_ip) canvas.drawString(257, 695, 'SO:') canvas.drawString(274, 695, so) canvas.drawString(490, 695, 'Ambiente:') canvas.drawString(528, 695, chassis) canvas.drawString(30, 685, 'Serviço:') canvas.drawString(62, 685, host_desc) canvas.drawString(245, 655, 'Informações de Processamento') canvas.drawString(30, 640, 'Modelo(s) do(s) Processador(es):') canvas.drawString(150, 640, cpu_model) canvas.drawString(30, 630, 'Quantidade de Processadores Lógicos:') canvas.drawString(173, 630, cpu_logical) canvas.drawString(240, 595, 'Gráfico de Processamento Mensal') canvas.drawInlineImage(cpu_graph, 50, 460, width=500, height=130) canvas.drawString(30, 450, 'Consumo atual:') canvas.drawString(88, 450, cpu_utilization) canvas.drawString(240, 420, 'Gráfico de uso da memória mensal') canvas.drawInlineImage(memory_graph, 50, 285, width=500, height=130) canvas.drawString(30, 270, 'Consumo atual:') canvas.drawString(88, 270, total_mem_utilization) canvas.drawString(255, 235, 'Informações de memória') canvas.drawString(30, 210, 'Memória Total:') canvas.drawString(85, 210, total_mem) canvas.drawString(30, 200, 'Memória disponível:') canvas.drawString(103, 200, total_freemem) canvas.drawString(260, 175, 'Informações de Disco') canvas.drawString(30, 150, 'Partições') canvas.drawString(40, 140, part_name) canvas.drawString(88, 150, 'Total') canvas.drawString(86, 140, total_root) canvas.drawString(136, 150, 'Livre') canvas.drawString(133, 140, total_root_free) canvas.drawString(264, 120, 'Outras informações') canvas.drawString(30, 95, 'Uptime:') canvas.drawString(60, 95, total_uptime) canvas.drawString(30, 85, 'Atualizações pendentes:') canvas.drawString(120, 85, pendinfo) canvas.drawString(245, 95, 'Reboot pendente:') canvas.drawString(311, 95, pendreboot) canvas.drawString(427, 95, 'Processos ativos:') canvas.drawString(491, 95, active_procs) canvas.drawString(276, 65, 'Observações') canvas.drawString(30, 50, obs) canvas.save()
def draw_club_logo(self, canvas): """Draw the club logo. Not a lot of code but nice to do everything in separate methods""" canvas.drawInlineImage(os.path.abspath('./club-logo.jpg'), 9.5*cm, 25.5*cm, 3*cm, 3*cm)
def draw_on(self, canvas): canvas.drawInlineImage(self.image, self.draw_x, self.draw_y, self.draw_width, self.draw_height)
from reportlab.pdfgen import canvas """ Canvas imagem canvas.drawImage(self, image, x, y, width=None, height=None, mask=None) canvas.drawInlineImage(self, image, x, y, width=None, height=None) There are two similar-sounding ways to draw images. The preferred one is the drawImage method. This implements a caching system so you can define an image once and draw it many times; it will only be stored once in the PDF file. `drawImage` also exposes one advanced parameter, a transparency mask, and will expose more in future. The older technique, `drawInlineImage`, stores bitmaps within the page stream and is thus very inefficient if you use the same image more than once in a document; but can result in PDFs which render faster if the images are very small and not repeated. """ canvas = canvas.Canvas("pdfs/extra-011.pdf") canvas.drawImage("static/python-logo.png", 100, 400, width=150, height=150, mask='auto') canvas.drawInlineImage("static/python-logo.png", 100, 700) canvas.showPage() canvas.save()
from reportlab.lib.pagesizes import letter from reportlab.pdfgen import canvas import time canvas = canvas.Canvas("form.pdf", pagesize=(250, 450)) canvas.setLineWidth(.3) canvas.setFont('Helvetica', 14) canvas.drawString(45, 430, 'Butterfly Garden : Ticket') canvas.line(10, 416, 240, 416) canvas.drawInlineImage("../qrcodes/0CA3K4.png", 53, 271, width=140, height=140) canvas.line(10, 266, 240, 266) canvas.setFont('Helvetica', 12) canvas.drawString(20, 250, 'Name : Viral Sangani') canvas.drawString(20, 233, 'Adult : 3') canvas.drawString(120, 233, 'Children : 3') canvas.drawString(20, 215, 'Time : ' + time.asctime(time.localtime(time.time()))) canvas.line(10, 192, 240, 192) canvas.line(10, 191, 240, 191) canvas.drawInlineImage("../qrcodes/0CA3K4.png", 53, 30, width=140, height=140) canvas.save()