当前位置: 首页>>代码示例>>Python>>正文


Python canvas.setFont函数代码示例

本文整理汇总了Python中reportlab.pdfgen.canvas.setFont函数的典型用法代码示例。如果您正苦于以下问题:Python setFont函数的具体用法?Python setFont怎么用?Python setFont使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了setFont函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _build_header_canvas

        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()
开发者ID:ajyoon,项目名称:yoon-toren-installation,代码行数:27,代码来源:document_builder.py

示例2: colorsRGB

def colorsRGB(canvas):
    from reportlab.lib import colors
    from reportlab.lib.units import inch
    black = colors.black
    y = x = 0; dy=inch*3/4.0; dx=inch*5.5/5; w=h=dy/2; rdx=(dx-w)/2
    rdy=h/5.0; texty=h+2*rdy
    canvas.setFont("Helvetica",10)
    for [namedcolor, name] in (
            [colors.lavenderblush, "lavenderblush"],
            [colors.lawngreen, "lawngreen"],
            [colors.lemonchiffon, "lemonchiffon"],
            [colors.lightblue, "lightblue"],
            [colors.lightcoral, "lightcoral"]):
        canvas.setFillColor(namedcolor)
        canvas.rect(x+rdx, y+rdy, w, h, fill=1)
        canvas.setFillColor(black)
        canvas.drawCentredString(x+dx/2, y+texty, name)
        x = x+dx
    y = y + dy; x = 0
    for rgb in [(1,0,0), (0,1,0), (0,0,1), (0.5,0.3,0.1), (0.4,0.5,0.3)]:
        r,g,b = rgb
        canvas.setFillColorRGB(r,g,b)
        canvas.rect(x+rdx, y+rdy, w, h, fill=1)
        canvas.setFillColor(black)
        canvas.drawCentredString(x+dx/2, y+texty, "r%s g%s b%s"%rgb)
        x = x+dx
    y = y + dy; x = 0
    for gray in (0.0, 0.25, 0.50, 0.75, 1.0):
        canvas.setFillGray(gray)
        canvas.rect(x+rdx, y+rdy, w, h, fill=1)
        canvas.setFillColor(black)
        canvas.drawCentredString(x+dx/2, y+texty, "gray: %s"%gray)
        x = x+dx
开发者ID:leogao,项目名称:examples,代码行数:33,代码来源:e4.py

示例3: create_report

def create_report():
    from reportlab.lib.pagesizes import letter
    from reportlab.pdfgen import canvas

    width, height = letter

    canvas = canvas.Canvas("form.pdf", pagesize=letter)

    canvas.setLineWidth(.3)
    canvas.setFont('Helvetica', 10)

    canvas.drawString(30, 750, 'OFFICIAL COMMUNIQUE')
    canvas.drawString(30, 735, 'OF ACME INDUSTRIES')
    canvas.drawString(500, 750, "12/12/2010")
    canvas.line(480, 747, 580, 747)

    canvas.drawString(275, 725, 'AMOUNT OWED:')
    canvas.drawString(500, 725, "$1,000.00")
    canvas.line(378, 723, 580, 723)

    canvas.drawString(30, 703, 'RECEIVED BY:')
    canvas.line(110, 700, 580, 700)
    canvas.drawString(110, 703, "JOHN DOE")

    canvas.save()
开发者ID:kkiley,项目名称:RoastMaster,代码行数:25,代码来源:test_pdf.py

示例4: printColors

def printColors(canvas):  
    canvas.setFont("Helvetica",10)
    y = x = 0; dy=inch*1/2.0; dx=1*inch; w=h=dy/2  
    rdx=(dx-w)/2; rdy=h/5.0
    available_paper = 10*inch

    for name, color in colors.getAllNamedColors().iteritems():

    # for [namedcolor, name] in (  
        # 'darkseagreen', 'darkslateblue',
        #  [colors.darkblue, 'darkblue'],
        #  [colors.darkcyan, 'darkcyan'],
        #  [colors.darkolivegreen, 'darkolivegreen'],
        #  [colors.cornflower, 'cornflower'],
        #  [colors.orchid, 'orchid'],
        
        #  [colors.lavenderblush, "lavenderblush"],  
        #  [colors.lawngreen, "lawngreen"],  
        #  [colors.lemonchiffon, "lemonchiffon"],  
        #  [colors.lightblue, "lightblue"],  
        #  [colors.lightcoral, "lightcoral"]):  
        canvas.setFillColor(color)  
        canvas.rect(x+rdx, y+rdy, w, h, fill=1)
        canvas.setFillColor(colors.black)  
        canvas.drawString(x+dx/4 + 1*inch, y+rdy, name)  
        rdy += .2*inch
        available_paper -= (y+rdy)
        if available_paper < 1*inch:
            c.showPage()
            y = x = 0; dy=inch*1/2.0; dx=1*inch; w=h=dy/2  
            rdx=(dx-w)/2; rdy=h/5.0
            available_paper = 10*inch
开发者ID:jawspeak,项目名称:google-docs-spreadsheet-namebadge-printer,代码行数:32,代码来源:color_sample.py

示例5: myPage

    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()
开发者ID:nickdepinet,项目名称:resume,代码行数:28,代码来源:resume.py

示例6: el_encogedor_de_fuentes_de_doraemon

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()
开发者ID:Virako,项目名称:fpinn,代码行数:29,代码来源:geninformes.py

示例7: draw

    def draw(self):
        canvas = self.canv
        if type(self.labelLigne) != six.text_type :
            self.labelLigne = self.labelLigne.decode("iso-8859-15")
        canvas.setFont("Helvetica", 9)
        # Dessin du label de la ligne
        xRightLabel = COORD_LIGNE[0] - 10
        yBasLabel = 0
        if MODE_TEXTE == 2 : yBasLabel = yBasLabel + 6
        canvas.drawRightString(xRightLabel, yBasLabel + 3, self.labelLigne)
        
        # Dessin test de la ligne totale
##        canvas.rect(COORD_LIGNE[0], 0, COORD_LIGNE[1]-COORD_LIGNE[0], 10)
        tailleVirtuelleLigne = COORD_LIGNE[1]-COORD_LIGNE[0]
        largeurMargesFeuille = 75
        posXGaucheLigne = COORD_LIGNE[0]
        taillePapierLigne = LARGEUR_PAGE- (largeurMargesFeuille*2) - posXGaucheLigne
        facteurAgrandissement = (taillePapierLigne *1.0) / tailleVirtuelleLigne
        # Dessine la ligne
##        canvas.setFillColorRGB(0.9, 0.9, 0.5)
##        canvas.rect(COORD_LIGNE[0], 0, taillePapierLigne, HAUTEUR_BARRE, fill=0)
        
        # Dessin de toutes les barres de la ligne
        for barre in self.listeBarresLigne :
            IDpresence, IDpersonne, date, heureDebut, heureFin, IDcategorie, intitule, posG, posD, posYhaut, posYbas = barre
            x = posG
            y = 0
            largeur = posD - posG
            hauteur = HAUTEUR_BARRE - 3
            label = intitule
            self.Barre(canvas, x, y, largeur, hauteur, label, heureDebut, heureFin, IDcategorie, facteurAgrandissement)
开发者ID:Noethys,项目名称:Teamworks,代码行数:31,代码来源:UTILS_Impression_presences_graph.py

示例8: __init__

    def __init__(self, canvas, maxWidth, maxHeight):
        self.topBorderStr = u"\u00f9\u00fa\u00fa\u00fa\u00fa\u00fa\u00fa\u00fa\u00fa\u00fb"

        # we draw the left border character (which includes the rank number),
        # eight squares, and then the right border character
        self.widthInChessChars = 1 + 8 + 1

        # we draw the top border character, the 8 squares in a file,
        # and the bottom border character (which includes the file name)
        self.heightInChessChars = 1 + 8 + 1

        self.maxWidth = maxWidth
        self.maxHeight = maxHeight
        self.canvas = canvas

        # increase the font size until we surpass the limits, then decrement back
        self.fontSymSize = 1
        while 1:
            canvas.setFont("ChessAlpha2", self.fontSymSize)
            candidateWidth = canvas.stringWidth(self.topBorderStr)

            if candidateWidth > maxWidth:
                break
            if self.fontSymSize * self.heightInChessChars > maxHeight:
                break
            self.fontSymSize += 1
        self.fontSymSize -= 1

        self.fontTextSize = self.fontSymSize - 8

        # final calculations
        canvas.setFont("ChessAlpha2", self.fontSymSize)
        self.width = self.height = canvas.stringWidth(self.topBorderStr)
开发者ID:lwerdna,项目名称:chess,代码行数:33,代码来源:rltools.py

示例9: draw_code128_questionnaire_id

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()
开发者ID:gabisurita,项目名称:GDAd,代码行数:29,代码来源:generic.py

示例10: __init__

    def __init__(self, pt_ID, amount):
	self.amount = amount
	self.pt_ID = pt_ID
	from reportlab.lib.pagesizes import letter
	from reportlab.pdfgen import canvas
	
	lt = "%s/EMR_outputs/%s/Other/rcpt-%s.pdf" % (settings.LINUXPATH, self.pt_ID, EMR_utilities.dateToday('file format'))
	at = "%s/EMR_outputs/%s/Other/rcpt-%s.pdf" % (settings.APPLEPATH, self.pt_ID, EMR_utilities.dateToday('file format'))
	wt = "%s\EMR_outputs\%s\Other\rcpt-%s.pdf" % (settings.WINPATH, self.pt_ID, EMR_utilities.dateToday('file format'))
	filename = EMR_utilities.platformText(lt, at, wt)
	canvas = canvas.Canvas(filename, pagesize=letter)
	canvas.setLineWidth(.3)
	canvas.setFont('Helvetica', 12)
 
	canvas.drawString(30,750,'PAYMENT FOR MEDICAL SERVICES FOR %s' % self.name_find())
	canvas.drawString(30,735,'RENDERED AT BARRON FAMILY MEDICINE')
	canvas.drawString(500,750,"%s" % EMR_utilities.dateToday())
	canvas.line(480,747,580,747)
 
	canvas.drawString(275,725,'AMOUNT PAID:')
	canvas.drawString(500,725,"$%s" % self.amount)
	canvas.line(378,723,580,723)
 
	canvas.drawString(30,703,'RECEIVED BY:')
	canvas.line(120,700,580,700)
	canvas.drawString(120,703, settings.NAME)
 
	canvas.save()
开发者ID:barronmo,项目名称:gecko_emr,代码行数:28,代码来源:Printer.py

示例11: __init__

    def __init__(self, pt_ID, amount):
	self.amount = amount
	self.pt_ID = pt_ID
	from reportlab.lib.pagesizes import letter
	from reportlab.pdfgen import canvas
	
	canvas = canvas.Canvas("/home/mb/Desktop/GECKO/EMR_outputs/%s/Other/rcpt-%s.pdf" % \
						(self.pt_ID, EMR_utilities.dateToday()), pagesize=letter)
	canvas.setLineWidth(.3)
	canvas.setFont('Helvetica', 12)
 
	canvas.drawString(30,750,'PAYMENT FOR MEDICAL SERVICES FOR %s' % self.name_find())
	canvas.drawString(30,735,'RENDERED AT BARRON FAMILY MEDICINE')
	canvas.drawString(500,750,"%s" % EMR_utilities.dateToday())
	canvas.line(480,747,580,747)
 
	canvas.drawString(275,725,'AMOUNT PAID:')
	canvas.drawString(500,725,"$%s" % self.amount)
	canvas.line(378,723,580,723)
 
	canvas.drawString(30,703,'RECEIVED BY:')
	canvas.line(120,700,580,700)
	canvas.drawString(120,703,"MICHAEL BARRON MD")
 
	canvas.save()
开发者ID:barronmo,项目名称:gecko_emr,代码行数:25,代码来源:Printer1.py

示例12: header

def header(canvas, signup, entry, metadata):
    year = int(signup.get('year'))

    # Prints Show info
    canvas.setFont("Helvetica-Bold", 20)
    canvas.drawString(inch, 10 * inch, "That Takes the Cake! " + str(year))
    canvas.setFont("Helvetica", 14)
    canvas.drawString(inch, 9.75 * inch, "Cake & Sugar Art Show & Competition")
    canvas.drawString(inch, 9.50 * inch, "Capital Confectioners, Austin, TX")

    canvas.drawString(inch, 9.25 * inch, get_show_start_date(year) + " & " + get_show_end_date(year))

    # Print entry number, division & category
    canvas.setFont("Helvetica-Bold", 20)
    canvas.drawRightString(7.75 * inch, 10 * inch, "Entry #" + str(entry.get('id')))
    canvas.setFont("Helvetica", 12)
    if (entry.get('category').startswith('Showcakes')):
        canvas.drawRightString(7.75 * inch, 9.75 * inch, entry.get('category'))
    elif _is_tasting(metadata, entry):
        canvas.drawRightString(7.75 * inch, 9.75 * inch, entry.get('category'))
    else:
        className = signup.get('class', '')
        canvas.drawRightString(7.75 * inch, 9.75 * inch, className)
        if (className):
            if ((className.find('Child') < 0) and (className.find('Junior') < 0)):
                canvas.drawRightString(7.75 * inch, 9.50 * inch, entry.get('category'))
    canvas.setFont("Helvetica", 14)
开发者ID:ChipM,项目名称:cakeshow2,代码行数:27,代码来源:form_generator.py

示例13: draw_debug_outline

    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()
开发者ID:mysociety,项目名称:ukonlinetutordb,代码行数:27,代码来源:certificate_pdf.py

示例14: docPage

 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()
开发者ID:B-Rich,项目名称:M2M,代码行数:7,代码来源:models.py

示例15: myFirstPage

 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()
开发者ID:johnwamburu,项目名称:school,代码行数:7,代码来源:printable_one.py


注:本文中的reportlab.pdfgen.canvas.setFont函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。