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


Python Canvas.grid方法代码示例

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


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

示例1: test_05_coordinates

# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import grid [as 别名]
 def test_05_coordinates(self):
     from reportlab.lib.pagesizes import A4
     from reportlab.pdfgen.canvas import Canvas
     from reportlab.lib.units import inch
     from reportlab.lib.colors import pink, black, red, blue, green
     c = Canvas('demo.pdf', pagesize=A4)
     c.translate(inch,inch)
     c.setStrokeColor(pink)
     c.grid([1*inch,2*inch,3*inch,4*inch],[0.5*inch, 1*inch, .5*inch, 2*inch, 2.5*inch])
     c.setFont("Times-Roman", 20)
     c.drawString(0,0, "(0,0) the Origin")
     c.drawString(2.5*inch, 1*inch, "(2.5,1) in inches")
     c.drawString(4*inch, 2.5*inch, "(4,2.5)")
     c.setFillColor(red)
     c.rect(0,2*inch,0.2*inch, 0.3*inch, fill=1)
     c.setFillColor(green)
     c.circle(4.5*inch, 0.4*inch, 0.2*inch, fill=1)
     c.showPage()
     c.save()
开发者ID:zenist,项目名称:ZLib,代码行数:21,代码来源:test_pdf.py

示例2: __init__

# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import grid [as 别名]

#.........这里部分代码省略.........

            # Préparation
            marge_haut = copy.copy(dictDonnees["page_marge_haut"])
            marge_bas = copy.copy(dictDonnees["page_marge_bas"])

            # Calcule la largeur des cases
            largeur_case = ((largeur_page - dictDonnees["page_marge_gauche"] - dictDonnees["page_marge_droite"]) - dictDonnees["page_espace_horizontal"] * (nbre_colonnes - 1)) / nbre_colonnes

            # Dessine l'image de fond
            if dictDonnees["page_fond_image"] != "aucune" :
                canvas.drawImage(Chemins.GetStaticPath("Images/%s" % dictDonnees["page_fond_image"]), 0, 0, largeur_page, hauteur_page, preserveAspectRatio=False)

            # Dessine le titre
            if dictDonnees["titre_afficher"] == True:
                if dictDonnees["titre_texte"] != "" :
                    texte_titre = u"%s %s" % (dictDonnees["titre_texte"], texte_titre)
                titre = Titre(parent=self, texte=texte_titre, canvas=canvas, largeur=largeur_page)
                marge_haut += dictDonnees["titre_hauteur"]

            # Dessine les entêtes
            if dictDonnees["entete_afficher"] == True:
                for num_colonne in range(0, nbre_colonnes):
                    # Calcule la position de la case
                    x_entete = dictDonnees["page_marge_gauche"] + ((largeur_case + dictDonnees["page_espace_horizontal"]) * num_colonne)
                    y_entete = hauteur_page - marge_haut - dictDonnees["entete_hauteur"]

                    # Dessine l'entête
                    texte = UTILS_Dates.LISTE_JOURS[dictDonnees["jours_semaine"][num_colonne]]
                    entete = Entete(parent=self, texte=texte, canvas=canvas, x=x_entete, y=y_entete, largeur_case=largeur_case)

                marge_haut += dictDonnees["entete_hauteur"] + dictDonnees["page_espace_vertical"]

            # Dessine le pied
            if dictDonnees["pied_afficher"] == True and len(dictDonnees["pied_texte"]) > 0 :
                pied = Pied(parent=self, texte=dictDonnees["pied_texte"], canvas=canvas, x=dictDonnees["page_marge_gauche"], y=marge_bas, largeur=largeur_page - dictDonnees["page_marge_gauche"] - dictDonnees["page_marge_droite"])
                marge_bas += dictDonnees["pied_hauteur"] + dictDonnees["page_espace_vertical"]

            # Dessine la légende
            self.dictNumerosLegendes = {}
            if dictDonnees["legende_afficher"] == True :

                # Recherche les légendes présentes dans la page
                liste_legendes = []
                for num_colonne in range(0, nbre_colonnes):
                    for num_ligne in range(0, nbre_lignes):
                        date, dictTextes = self.GetDateAndTextes(num_ligne=num_ligne, num_colonne=num_colonne, dict_page=dict_page, calendrier=calendrier)
                        for IDcategorie, dictTexte in dictTextes.iteritems():
                            for chaine in REGEX_LEGENDES.findall(dictTexte["texte"]):
                                try :
                                    IDlegende = int(chaine[1:-1])
                                    dictLegende = self.dictDonnees["legendes"][IDlegende]
                                    if dictLegende not in liste_legendes and self.dictDonnees["legendes"].has_key(IDlegende) :
                                        liste_legendes.append(dictLegende)
                                except :
                                    pass

                if len(liste_legendes) > 0 :
                    legende = Legende(parent=self, liste_legendes=liste_legendes, canvas=canvas, x=dictDonnees["page_marge_gauche"], y=marge_bas, largeur=largeur_page - dictDonnees["page_marge_gauche"] - dictDonnees["page_marge_droite"])
                    self.dictNumerosLegendes = legende.dictNumerosLegendes
                    marge_bas += dictDonnees["legende_hauteur"] + dictDonnees["page_espace_vertical"]


            # Calcul la hauteur des cases
            hauteur_case = ((hauteur_page - marge_haut - marge_bas) - dictDonnees["page_espace_vertical"] * (nbre_lignes - 1)) / nbre_lignes

            # Dessine les cases
            for num_colonne in range(0, nbre_colonnes):
                for num_ligne in range(0, nbre_lignes):

                    # Calcule la position de la case
                    x_case = dictDonnees["page_marge_gauche"] + ((largeur_case + dictDonnees["page_espace_horizontal"]) * num_colonne)
                    y_case = hauteur_page - marge_haut - hauteur_case - ((hauteur_case + dictDonnees["page_espace_vertical"]) * num_ligne)

                    # Recherche la date et les textes
                    date, dictTextes = self.GetDateAndTextes(num_ligne=num_ligne, num_colonne=num_colonne, dict_page=dict_page, calendrier=calendrier)

                    # Dessin de la case
                    case = Case(parent=self, date=date, dictTextes=dictTextes, canvas=canvas, x=x_case, y=y_case, largeur_case=largeur_case, hauteur_case=hauteur_case)

            # Dessine la grille
            if dictDonnees["page_grille"] == True :
                canvas.setStrokeColor(ColorWxToPdf(wx.LIGHT_GREY, alpha=0.5))
                canvas.setFillColor(ColorWxToPdf(wx.LIGHT_GREY, alpha=0.5))
                canvas.setLineWidth(0.25)
                canvas.grid(range(0, int(largeur_page)+50, 50), range(0, int(hauteur_page)+50, 50))
                canvas.setFont("Helvetica", 8)
                canvas.drawString(10, 10, _(u"Largeur carreau=50"))

            # Saut de page
            if num_page < len(liste_pages) - 1:
                canvas.showPage()


        # Finalisation du PDF
        canvas.save()

        try:
            FonctionsPerso.LanceFichierExterne(nomDoc)
        except:
            print "Probleme dans l'edition du menu"
开发者ID:bogucool,项目名称:Noethys,代码行数:104,代码来源:UTILS_Impression_menu.py

示例3: create_card

# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import grid [as 别名]
def create_card(issue_key, issue_type, jira_config, debug=False):
    """
    Karte als PDF für einen Issue erzeugen
    :param issue_key: Key des Issue
    :param issue_type: Typ des Issue
    :param jira_config: Zugangsdaten für JIRA (URL, User, Passwort)
    :param debug: Debug-Modus (default: False)
    :return: absoluter Dateiname der erzeugten PDF-Datei
    """
    logger = logging.getLogger(__name__)

    if issue_type not in ISSUE_TYPE2COLOR:
        raise KeyError('Invalid issue type "{}"'.format(issue_type))

    filename = '{}/{}.pdf'.format(str(get_pdf_dir()), issue_key)

    canvas = Canvas(filename, pagesize=landscape(A6))
    height = A6[0]
    width = A6[1]

    epic_text = ['Epic: ']
    epic_color = None
    parent_text = ['Parent: ']

    if debug:
        logger.info('DEBUG-Mode')
        canvas.grid(range(0, 500, 50), range(0, 500, 50))
        issue_key = 'XXX-1337'
        issue_type = 'bug'
        summary = '<Bacon> ipsum dolor amet pork belly strip steak hamburger ' \
                  'turducken flank. Turkey bacon shankle short'
        epic_text = ['Epic: ', 'Test-Epic']
        epic_color = '#abcccc'
        parent_text = ['Parent: ', 'Test-Parent']
        labels = ['move_to_git', 'rewrite']
    else:
        jira = JIRA(jira_config['url'], basic_auth=(jira_config['user'], jira_config['password']))
        issue = jira.issue(issue_key)
        summary = issue.fields.summary
        labels = issue.fields.labels

        try:
            parent = jira.issue(issue.fields.parent.id)
            parent_text.append(parent.fields.summary)
        except AttributeError:
            parent = None

        try:
            if parent is None:
                epic = jira.issue(getattr(issue.fields, jira_config['epic_custom_field_key']))
            else:
                epic = jira.issue(getattr(parent.fields, jira_config['epic_custom_field_key']))

            epic_text.append(getattr(epic.fields, jira_config['epic_custom_field_name']))
            epic_color = EPIC_COLORS[getattr(epic.fields, jira_config['epic_custom_field_color'])]
        except JIRAError:
            pass

        canvas.setFillColor(ISSUE_TYPE2COLOR[issue_type])

    ticket_url = '{url}/browse/{issue_key}'.format(url=jira_config['url'], issue_key=issue_key)
    qr_dimensions = (50, 50)
    qr_coords = (20, height - 65)
    draw_qr_code(canvas, ticket_url, qr_coords, qr_dimensions)

    text = [
        {
            'text': ', '.join(labels),
            'size': 10,
            'x': width - 15,
            'y': 15,
            'align': 'right'
        },
        {
            'text': parent_text,
            'size': 18,
            'x': 20,
            'y': 28
        },
        {
            'text': epic_text,
            'size': 18,
            'x': 20,
            'y': 53,
            'backColor': epic_color
        },
        {
            'text': issue_key,
            'size': 28,
            'x': width - 20,
            'y': height - 40,
            'align': 'right'
        },
    ]

    draw_text(canvas, text)
    draw_summary_frame(canvas, summary, ISSUE_TYPE2COLOR[issue_type], debug)

    canvas.save()
    logger.info('Wrote PDF for %s: "%s" to %s', issue_key, summary, filename)
#.........这里部分代码省略.........
开发者ID:NorddeutscherRundfunk,项目名称:jiracards,代码行数:103,代码来源:jiracards.py


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