本文整理汇总了Python中reportlab.platypus.doctemplate.BaseDocTemplate.modeleDoc方法的典型用法代码示例。如果您正苦于以下问题:Python BaseDocTemplate.modeleDoc方法的具体用法?Python BaseDocTemplate.modeleDoc怎么用?Python BaseDocTemplate.modeleDoc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reportlab.platypus.doctemplate.BaseDocTemplate
的用法示例。
在下文中一共展示了BaseDocTemplate.modeleDoc方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from reportlab.platypus.doctemplate import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.doctemplate.BaseDocTemplate import modeleDoc [as 别名]
def __init__(self, dictValeurs={}, dictOptions={}, IDmodele=None, ouverture=True, nomFichier=None):
""" Impression """
global DICT_VALEURS, DICT_OPTIONS
DICT_VALEURS = dictValeurs
DICT_OPTIONS = dictOptions
# Initialisation du document
if nomFichier == None :
nomDoc = FonctionsPerso.GenerationNomDoc("LOCATIONS", "pdf")
else :
nomDoc = nomFichier
doc = BaseDocTemplate(nomDoc, pagesize=TAILLE_PAGE, showBoundary=False)
# Mémorise le ID du modèle
modeleDoc = DLG_Noedoc.ModeleDoc(IDmodele=IDmodele)
doc.modeleDoc = modeleDoc
# Importe le template de la première page
doc.addPageTemplates(MyPageTemplate(pageSize=TAILLE_PAGE, doc=doc))
story = []
styleSheet = getSampleStyleSheet()
h3 = styleSheet['Heading3']
styleTexte = styleSheet['BodyText']
styleTexte.fontName = "Helvetica"
styleTexte.fontSize = 9
styleTexte.borderPadding = 9
styleTexte.leading = 12
# ----------- Insertion du contenu des frames --------------
listeLabels = []
for IDlocation, dictValeur in dictValeurs.iteritems() :
listeLabels.append((dictValeur["{FAMILLE_NOM}"], IDlocation))
listeLabels.sort()
for labelDoc, IDlocation in listeLabels :
dictValeur = dictValeurs[IDlocation]
if dictValeur["select"] == True :
story.append(DocAssign("IDlocation", IDlocation))
nomSansCivilite = dictValeur["{FAMILLE_NOM}"]
story.append(Bookmark(nomSansCivilite, str(IDlocation)))
# Saut de page
story.append(PageBreak())
# Finalisation du PDF
doc.build(story)
# Ouverture du PDF
if ouverture == True :
FonctionsPerso.LanceFichierExterne(nomDoc)
示例2: __init__
# 需要导入模块: from reportlab.platypus.doctemplate import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.doctemplate.BaseDocTemplate import modeleDoc [as 别名]
def __init__(self, dictValeurs={}, dictOptions={}, IDmodele=None, mode="facture", ouverture=True, nomFichier=None, titre=None):
""" Impression """
global DICT_VALEURS, DICT_OPTIONS
DICT_VALEURS = dictValeurs
DICT_OPTIONS = dictOptions
self.mode = mode
detail = 0
if dictOptions["affichage_prestations"] != None :
detail = dictOptions["affichage_prestations"]
# Initialisation du document
if nomFichier == None :
nomDoc = _(u"Temp/%ss_%s.pdf") % (mode, FonctionsPerso.GenerationIDdoc())
else :
nomDoc = nomFichier
doc = BaseDocTemplate(nomDoc, pagesize=TAILLE_PAGE, showBoundary=False)
# Mémorise le ID du modèle
modeleDoc = DLG_Noedoc.ModeleDoc(IDmodele=IDmodele)
doc.modeleDoc = modeleDoc
# Vérifie qu'un cadre principal existe bien dans le document
if doc.modeleDoc.FindObjet("cadre_principal") == None :
raise Exception("Votre modèle de document doit obligatoirement comporter un cadre principal. Retournez dans l'éditeur de document et utilisez pour votre modèle la commande 'Insérer un objet spécial > Insérer le cadre principal'.")
# Importe le template de la première page
doc.addPageTemplates(MyPageTemplate(pageSize=TAILLE_PAGE, doc=doc))
story = []
styleSheet = getSampleStyleSheet()
h3 = styleSheet['Heading3']
styleTexte = styleSheet['BodyText']
styleTexte.fontName = "Helvetica"
styleTexte.fontSize = 9
styleTexte.borderPadding = 9
styleTexte.leading = 12
## # Définit le template des pages suivantes
## story.append(NextPageTemplate("suivante"))
# ----------- Insertion du contenu des frames --------------
listeNomsSansCivilite = []
for IDcompte_payeur, dictValeur in dictValeurs.iteritems() :
listeNomsSansCivilite.append((dictValeur["nomSansCivilite"], IDcompte_payeur))
listeNomsSansCivilite.sort()
for nomSansCivilite, IDcompte_payeur in listeNomsSansCivilite :
dictValeur = dictValeurs[IDcompte_payeur]
if dictValeur["select"] == True :
story.append(DocAssign("IDcompte_payeur", IDcompte_payeur))
nomSansCivilite = dictValeur["nomSansCivilite"]
story.append(Bookmark(nomSansCivilite, str(IDcompte_payeur)))
# ------------------- TITRE -----------------
if dictOptions["afficher_titre"] == True :
if titre == None :
if mode == "facture" : titre = _(u"Facture")
if mode == "attestation" : titre = _(u"Attestation de présence")
if dictValeur.has_key("texte_titre") :
titre = dictValeur["texte_titre"]
dataTableau = []
largeursColonnes = [ CADRE_CONTENU[2], ]
dataTableau.append((titre,))
texteDateDebut = DateEngFr(str(dictValeur["date_debut"]))
texteDateFin = DateEngFr(str(dictValeur["date_fin"]))
if dictOptions["afficher_periode"] == True :
dataTableau.append((_(u"Période du %s au %s") % (texteDateDebut, texteDateFin),))
styles = [
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('FONT',(0,0),(0,0), "Helvetica-Bold", dictOptions["taille_texte_titre"]),
('LINEBELOW', (0,0), (0,0), 0.25, colors.black),
('ALIGN', (0,0), (-1,-1), 'LEFT'),
]
if dictOptions["afficher_periode"] == True :
styles.append(('FONT',(0,1),(0,1), "Helvetica", dictOptions["taille_texte_periode"]))
tableau = Table(dataTableau, largeursColonnes)
tableau.setStyle(TableStyle(styles))
story.append(tableau)
story.append(Spacer(0,20))
# TEXTE D'INTRODUCTION pour Attestation
## if mode == "attestation" and dictValeur["intro"] != None :
## texteIntro = dictValeur["intro"]
## paraStyle = ParagraphStyle(name="intro",
## fontName="Helvetica",
## fontSize=9,
## leading=14,
## spaceBefore=0,
## spaceafter=0,
## leftIndent=20,
## rightIndent=20,
## alignment=1,
## )
## story.append(Paragraph(u"<i>%s</i>" % texteIntro, paraStyle))
## story.append(Spacer(0,20))
#.........这里部分代码省略.........
示例3: __init__
# 需要导入模块: from reportlab.platypus.doctemplate import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.doctemplate.BaseDocTemplate import modeleDoc [as 别名]
def __init__(self, dictValeurs={}, IDmodele=None, nomDoc=FonctionsPerso.GenerationNomDoc("INSCRIPTION", "pdf"), afficherDoc=True):
""" Impression """
global DICT_VALEURS
DICT_VALEURS = dictValeurs
# Initialisation du document
doc = BaseDocTemplate(nomDoc, pagesize=TAILLE_PAGE, showBoundary=False)
# Mémorise le ID du modèle
modeleDoc = DLG_Noedoc.ModeleDoc(IDmodele=IDmodele)
doc.modeleDoc = modeleDoc
doc.addPageTemplates(MyPageTemplate(pageSize=TAILLE_PAGE, doc=doc))
story = []
styleSheet = getSampleStyleSheet()
h3 = styleSheet['Heading3']
styleTexte = styleSheet['BodyText']
styleTexte.fontName = "Helvetica"
styleTexte.fontSize = 9
styleTexte.borderPadding = 9
styleTexte.leading = 12
couleurFond = (0.8, 0.8, 1)
# ----------- Insertion du contenu des frames --------------
cadre_principal = doc.modeleDoc.FindObjet("cadre_principal")
if cadre_principal != None :
if DICT_VALEURS["intro"] != None or DICT_VALEURS["tableau"] == True :
# ------------------- TITRE -----------------
dataTableau = []
largeursColonnes = [ TAILLE_CADRE_CONTENU[2], ]
dataTableau.append((_(u"Confirmation d'inscription"),))
dataTableau.append((u"",))
style = TableStyle([
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('FONT',(0,0),(0,0), "Helvetica-Bold", 19),
('FONT',(0,1),(0,1), "Helvetica", 8),
('LINEBELOW', (0,0), (0,0), 0.25, colors.black),
('ALIGN', (0,0), (-1,-1), 'LEFT'),
])
tableau = Table(dataTableau, largeursColonnes)
tableau.setStyle(style)
story.append(tableau)
story.append(Spacer(0, 10))
# TEXTE D'INTRODUCTION
paraStyleIntro = ParagraphStyle(name="intro",
fontName="Helvetica",
fontSize=11,
leading=14,
spaceBefore=0,
spaceafter=0,
leftIndent=0,
rightIndent=0,
alignment=0,
)
if DICT_VALEURS["intro"] != None :
texteIntro = DICT_VALEURS["intro"]
story.append(Paragraph(u"<i>%s</i>" % texteIntro, paraStyleIntro))
story.append(Spacer(0,20))
if DICT_VALEURS["tableau"] == True :
# ------------------- TABLEAU CONTENU -----------------
dataTableau = []
largeursColonnes = [ 80, 280]
paraStyle = ParagraphStyle(name="detail",
fontName="Helvetica-Bold",
fontSize=9,
)
dataTableau.append( (_(u"Nom"), Paragraph(DICT_VALEURS["{INDIVIDU_NOM}"], paraStyle)) )
dataTableau.append( (_(u"Prénom"), Paragraph(DICT_VALEURS["{INDIVIDU_PRENOM}"], paraStyle)) )
dataTableau.append( (_(u"Activité"), Paragraph(DICT_VALEURS["{ACTIVITE_NOM_LONG}"], paraStyle)) )
dataTableau.append( (_(u"Groupe"), Paragraph(DICT_VALEURS["{GROUPE_NOM_LONG}"], paraStyle)) )
dataTableau.append( (_(u"Catégorie"), Paragraph(DICT_VALEURS["{NOM_CATEGORIE_TARIF}"], paraStyle)) )
style = TableStyle([
('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
('FONT', (0, 0), (0, -1), "Helvetica", 9),
('GRID', (0, 0), (-1, -1), 0.25, colors.black),
('ALIGN', (0, 0), (0, -1), 'RIGHT'),
])
tableau = Table(dataTableau, largeursColonnes)
tableau.setStyle(style)
story.append(tableau)
# Si aucune frame principale
if len(story) == 0 :
story.append(Spacer(0,20))
# Enregistrement et ouverture du PDF
try :
doc.build(story)
except Exception, err :
print "Erreur dans ouverture PDF :", err
#.........这里部分代码省略.........
示例4: __init__
# 需要导入模块: from reportlab.platypus.doctemplate import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.doctemplate.BaseDocTemplate import modeleDoc [as 别名]
def __init__(self, dictValeurs={}, IDmodele=None, nomDoc=FonctionsPerso.GenerationNomDoc("RECU_REGLEMENT", "pdf"), afficherDoc=True):
""" Impression """
global DICT_VALEURS
DICT_VALEURS = dictValeurs
# Initialisation du document
doc = BaseDocTemplate(nomDoc, pagesize=TAILLE_PAGE, showBoundary=False)
# Mémorise le ID du modèle
modeleDoc = DLG_Noedoc.ModeleDoc(IDmodele=IDmodele)
doc.modeleDoc = modeleDoc
# Vérifie qu'un cadre principal existe bien dans le document
if doc.modeleDoc.FindObjet("cadre_principal") == None :
raise Exception("Votre modele de document doit obligatoirement comporter un cadre principal. Retournez dans l'editeur de document et utilisez pour votre modele la commande 'Inserer un objet special > Inserer le cadre principal'.")
# Mémorise le ID du modèle
modeleDoc = DLG_Noedoc.ModeleDoc(IDmodele=IDmodele)
doc.modeleDoc = modeleDoc
doc.addPageTemplates(MyPageTemplate(pageSize=TAILLE_PAGE, doc=doc))
story = []
styleSheet = getSampleStyleSheet()
h3 = styleSheet['Heading3']
styleTexte = styleSheet['BodyText']
styleTexte.fontName = "Helvetica"
styleTexte.fontSize = 9
styleTexte.borderPadding = 9
styleTexte.leading = 12
## # Définit le template des pages suivantes
## story.append(NextPageTemplate("suivante"))
# ----------- Insertion du contenu des frames --------------
# ------------------- TITRE -----------------
dataTableau = []
largeursColonnes = [ TAILLE_CADRE_CONTENU[2], ]
dataTableau.append((_(u"Reçu de règlement"),))
dataTableau.append((u"",))
style = TableStyle([
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('FONT',(0,0),(0,0), "Helvetica-Bold", 19),
('FONT',(0,1),(0,1), "Helvetica", 8),
('LINEBELOW', (0,0), (0,0), 0.25, colors.black),
('ALIGN', (0,0), (-1,-1), 'LEFT'),
])
tableau = Table(dataTableau, largeursColonnes)
tableau.setStyle(style)
story.append(tableau)
story.append(Spacer(0, 10))
# TEXTE D'INTRODUCTION
paraStyleIntro = ParagraphStyle(name="intro",
fontName="Helvetica",
fontSize=11,
leading=14,
spaceBefore=0,
spaceafter=0,
leftIndent=0,
rightIndent=0,
alignment=0,
)
if DICT_VALEURS["intro"] != None :
texteIntro = DICT_VALEURS["intro"]
story.append(Paragraph(u"<i>%s</i>" % texteIntro, paraStyleIntro))
story.append(Spacer(0,20))
couleurFond = (0.8, 0.8, 1)
# ------------------- TABLEAU CONTENU -----------------
dataTableau = []
largeursColonnes = [ 120, 280]
paraStyle = ParagraphStyle(name="detail",
fontName="Helvetica-Bold",
fontSize=9,
)
dataTableau.append( (_(u"Caractéristiques du règlement"), "") )
montantEnLettres = UTILS_Conversion.trad(DICT_VALEURS["montant"], MONNAIE_SINGULIER, MONNAIE_DIVISION).strip()
dataTableau.append( (_(u"Montant du règlement :"), Paragraph(montantEnLettres.capitalize(), paraStyle) ) )
dataTableau.append( (_(u"Mode de règlement :"), Paragraph(DICT_VALEURS["nomMode"], paraStyle) ) )
dataTableau.append( (_(u"Nom du payeur :"), Paragraph(DICT_VALEURS["nomPayeur"], paraStyle) ) )
if DICT_VALEURS["nomEmetteur"] != None : dataTableau.append( (_(u"Nom de l'émetteur :"), Paragraph(DICT_VALEURS["nomEmetteur"], paraStyle) ) )
if DICT_VALEURS["numPiece"] not in ("", None) : dataTableau.append( (_(u"Numéro de pièce :"), Paragraph(DICT_VALEURS["numPiece"], paraStyle) ) )
if DICT_VALEURS["date_differe"] not in ("", None): dataTableau.append((_(u"Encaissement différé :"), Paragraph(_(u"A partir du %s") % DICT_VALEURS["{DATE_DIFFERE}"], paraStyle)))
style = TableStyle([
('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
('FONT', (0, 0), (0, -1), "Helvetica", 9),
('FONT', (1, 0), (1, -1), "Helvetica-Bold", 9),
('GRID', (0, 0), (-1, -1), 0.25, colors.black),
('ALIGN', (0, 1), (0, -1), 'RIGHT'),
('ALIGN', (1, 1), (1, -1), 'LEFT'),
#.........这里部分代码省略.........
示例5: __init__
# 需要导入模块: from reportlab.platypus.doctemplate import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.doctemplate.BaseDocTemplate import modeleDoc [as 别名]
def __init__(self, dictComptes={}, dictOptions={}, IDmodele=None, ouverture=True, nomFichier=None):
""" Impression """
global DICT_COMPTES, DICT_OPTIONS
DICT_COMPTES = dictComptes
DICT_OPTIONS = dictOptions
# Initialisation du document
if nomFichier == None :
nomDoc = FonctionsPerso.GenerationNomDoc("ATTESTATIONS_FISCALES", "pdf")
else :
nomDoc = nomFichier
doc = BaseDocTemplate(nomDoc, pagesize=TAILLE_PAGE, showBoundary=False)
# Mémorise le ID du modèle
modeleDoc = DLG_Noedoc.ModeleDoc(IDmodele=IDmodele)
doc.modeleDoc = modeleDoc
# Vérifie qu'un cadre principal existe bien dans le document
if doc.modeleDoc.FindObjet("cadre_principal") == None :
raise Exception("Votre modele de document doit obligatoirement comporter un cadre principal. Retournez dans l'editeur de document et utilisez pour votre modele la commande 'Inserer un objet special > Inserer le cadre principal'.")
# Mémorise le ID du modèle
modeleDoc = DLG_Noedoc.ModeleDoc(IDmodele=IDmodele)
doc.modeleDoc = modeleDoc
# Importe le template de la première page
doc.addPageTemplates(MyPageTemplate(pageSize=TAILLE_PAGE, doc=doc))
story = []
styleSheet = getSampleStyleSheet()
h3 = styleSheet['Heading3']
styleTexte = styleSheet['BodyText']
styleTexte.fontName = "Helvetica"
styleTexte.fontSize = 9
styleTexte.borderPadding = 9
styleTexte.leading = 12
## # Définit le template des pages suivantes
## story.append(NextPageTemplate("suivante"))
# ----------- Insertion du contenu des frames --------------
listeNomsSansCivilite = []
for IDcompte_payeur, dictCompte in dictComptes.iteritems() :
listeNomsSansCivilite.append((dictCompte["{FAMILLE_NOM}"], IDcompte_payeur))
listeNomsSansCivilite.sort()
for nomSansCivilite, IDcompte_payeur in listeNomsSansCivilite :
dictCompte = dictComptes[IDcompte_payeur]
story.append(DocAssign("IDcompte_payeur", IDcompte_payeur))
nomSansCivilite = dictCompte["{FAMILLE_NOM}"]
story.append(Bookmark(nomSansCivilite, str(IDcompte_payeur)))
# ------------------- TITRE -----------------
dataTableau = []
largeursColonnes = [ TAILLE_CADRE_CONTENU[2], ]
dataTableau.append((dictOptions["titre"],))
texteDateReference = UTILS_Dates.DateEngFr(str(datetime.date.today()))
dataTableau.append((_(u"Période du %s au %s") % (UTILS_Dates.DateDDEnFr(dictOptions["date_debut"]), UTILS_Dates.DateDDEnFr(dictOptions["date_fin"])),))
style = TableStyle([
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('FONT',(0,0),(0,0), "Helvetica-Bold", 19),
('FONT',(0,1),(0,1), "Helvetica", 8),
('LINEBELOW', (0,0), (0,0), 0.25, colors.black),
('ALIGN', (0,0), (-1,-1), 'LEFT'),
])
tableau = Table(dataTableau, largeursColonnes)
tableau.setStyle(style)
story.append(tableau)
story.append(Spacer(0, 30))
couleurFond = (0.8, 0.8, 1)
couleurFondActivite = (0.92, 0.92, 1)
# TEXTE CONTENU
paraStyle = ParagraphStyle(name="contenu",
fontName="Helvetica",
fontSize=11,
leading=16,
spaceBefore=0,
spaceafter=0,
leftIndent=6,
rightIndent=6,
)
# INTRO
texte = dictCompte["{INTRO}"]
if texte != "" :
listeParagraphes = texte.split("</para>")
for paragraphe in listeParagraphes :
textePara = Paragraph(u"%s" % paragraphe, paraStyle)
story.append(textePara)
story.append(Spacer(0, 25))
# DETAIL par enfant
dataTableau = [(_(u"Nom et prénom"), _(u"Date de naissance"), _(u"Montant")),]
largeursColonnes = [ 220, 80, 80]
#.........这里部分代码省略.........
示例6: __init__
# 需要导入模块: from reportlab.platypus.doctemplate import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.doctemplate.BaseDocTemplate import modeleDoc [as 别名]
def __init__(self, dictComptes={}, dictOptions={}, IDmodele=None, ouverture=True, nomFichier=None):
""" Impression """
global DICT_COMPTES, DICT_OPTIONS
DICT_COMPTES = dictComptes
DICT_OPTIONS = dictOptions
# Initialisation du document
if nomFichier == None :
nomDoc = "Temp/RAPPELS%s.pdf" % FonctionsPerso.GenerationIDdoc()
else :
nomDoc = nomFichier
doc = BaseDocTemplate(nomDoc, pagesize=TAILLE_PAGE, showBoundary=False)
# Mémorise le ID du modèle
modeleDoc = DLG_Noedoc.ModeleDoc(IDmodele=IDmodele)
doc.modeleDoc = modeleDoc
# Vérifie qu'un cadre principal existe bien dans le document
if doc.modeleDoc.FindObjet("cadre_principal") == None :
raise Exception("Votre modèle de document doit obligatoirement comporter un cadre principal. Retournez dans l'éditeur de document et utilisez pour votre modèle la commande 'Insérer un objet spécial > Insérer le cadre principal'.")
# Importe le template de la première page
doc.addPageTemplates(MyPageTemplate(pageSize=TAILLE_PAGE, doc=doc))
story = []
styleSheet = getSampleStyleSheet()
h3 = styleSheet['Heading3']
styleTexte = styleSheet['BodyText']
styleTexte.fontName = "Helvetica"
styleTexte.fontSize = 9
styleTexte.borderPadding = 9
styleTexte.leading = 12
## # Définit le template des pages suivantes
## story.append(NextPageTemplate("suivante"))
# ----------- Insertion du contenu des frames --------------
listeNomsSansCivilite = []
for IDcompte_payeur, dictCompte in dictComptes.iteritems() :
listeNomsSansCivilite.append((dictCompte["nomSansCivilite"], IDcompte_payeur))
listeNomsSansCivilite.sort()
for nomSansCivilite, IDcompte_payeur in listeNomsSansCivilite :
dictCompte = dictComptes[IDcompte_payeur]
if dictCompte["select"] == True :
story.append(DocAssign("IDcompte_payeur", IDcompte_payeur))
nomSansCivilite = dictCompte["nomSansCivilite"]
story.append(Bookmark(nomSansCivilite, str(IDcompte_payeur)))
# ------------------- TITRE -----------------
dataTableau = []
largeursColonnes = [ TAILLE_CADRE_CONTENU[2], ]
dataTableau.append((dictCompte["titre"],))
texteDateReference = DateEngFr(str(datetime.date.today()))
dataTableau.append((_(u"Situation au %s") % texteDateReference,))
style = TableStyle([
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('FONT',(0,0),(0,0), "Helvetica-Bold", 19),
('FONT',(0,1),(0,1), "Helvetica", 8),
('LINEBELOW', (0,0), (0,0), 0.25, colors.black),
('ALIGN', (0,0), (-1,-1), 'LEFT'),
])
tableau = Table(dataTableau, largeursColonnes)
tableau.setStyle(style)
story.append(tableau)
story.append(Spacer(0,30))
couleurFond = (0.8, 0.8, 1)
couleurFondActivite = (0.92, 0.92, 1)
# TEXTE CONTENU
paraStyle = ParagraphStyle(name="contenu",
fontName="Helvetica",
fontSize=11,
#leading=7,
spaceBefore=0,
spaceafter=0,
leftIndent=6,
rightIndent=6,
)
texte = dictCompte["texte"]
listeParagraphes = texte.split("</para>")
for paragraphe in listeParagraphes :
paragraphe = u"%s</para>" % paragraphe
textePara = Paragraph(paragraphe, paraStyle)
story.append(textePara)
if "> </para" in paragraphe :
story.append(Spacer(0, 13))
# Saut de page
story.append(PageBreak())
# Finalisation du PDF
doc.build(story)
# Ouverture du PDF
if ouverture == True :
#.........这里部分代码省略.........
示例7: __init__
# 需要导入模块: from reportlab.platypus.doctemplate import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.doctemplate.BaseDocTemplate import modeleDoc [as 别名]
def __init__(self, dictValeurs={}, dictOptions={}, IDmodele=None, ouverture=True, nomFichier=None):
""" Impression """
global DICT_VALEURS, DICT_OPTIONS
DICT_VALEURS = dictValeurs
DICT_OPTIONS = dictOptions
# Initialisation du document
if nomFichier == None :
nomDoc = FonctionsPerso.GenerationNomDoc("COTISATIONS", "pdf")
else :
nomDoc = nomFichier
doc = BaseDocTemplate(nomDoc, pagesize=TAILLE_PAGE, showBoundary=False)
# Mémorise le ID du modèle
modeleDoc = DLG_Noedoc.ModeleDoc(IDmodele=IDmodele)
doc.modeleDoc = modeleDoc
# Importe le template de la première page
doc.addPageTemplates(MyPageTemplate(pageSize=TAILLE_PAGE, doc=doc))
story = []
styleSheet = getSampleStyleSheet()
h3 = styleSheet['Heading3']
styleTexte = styleSheet['BodyText']
styleTexte.fontName = "Helvetica"
styleTexte.fontSize = 9
styleTexte.borderPadding = 9
styleTexte.leading = 12
# ----------- Insertion du contenu des frames --------------
listeLabels = []
for IDcotisation, dictValeur in dictValeurs.iteritems() :
listeLabels.append((dictValeur["{FAMILLE_NOM}"], IDcotisation))
listeLabels.sort()
for labelDoc, IDcotisation in listeLabels :
dictValeur = dictValeurs[IDcotisation]
if dictValeur["select"] == True :
story.append(DocAssign("IDcotisation", IDcotisation))
nomSansCivilite = dictValeur["{FAMILLE_NOM}"]
story.append(Bookmark(nomSansCivilite, str(IDcotisation)))
## # ------------------- TITRE -----------------
## dataTableau = []
## largeursColonnes = [ TAILLE_CADRE_CONTENU[2], ]
## dataTableau.append((dictCompte["titre"],))
## texteDateReference = UTILS_Dates.DateEngFr(str(datetime.date.today()))
## dataTableau.append((_(u"Situation au %s") % texteDateReference,))
## style = TableStyle([
## ('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
## ('FONT',(0,0),(0,0), "Helvetica-Bold", 19),
## ('FONT',(0,1),(0,1), "Helvetica", 8),
## ('LINEBELOW', (0,0), (0,0), 0.25, colors.black),
## ('ALIGN', (0,0), (-1,-1), 'LEFT'),
## ])
## tableau = Table(dataTableau, largeursColonnes)
## tableau.setStyle(style)
## story.append(tableau)
## story.append(Spacer(0,30))
##
##
## couleurFond = (0.8, 0.8, 1)
## couleurFondActivite = (0.92, 0.92, 1)
##
## # TEXTE CONTENU
## paraStyle = ParagraphStyle(name="contenu",
## fontName="Helvetica",
## fontSize=11,
## #leading=7,
## spaceBefore=0,
## spaceafter=0,
## leftIndent=6,
## rightIndent=6,
## )
##
## texte = dictCompte["texte"]
## listeParagraphes = texte.split("</para>")
## for paragraphe in listeParagraphes :
## textePara = Paragraph(u"%s</para>" % paragraphe, paraStyle)
## story.append(textePara)
# Saut de page
story.append(PageBreak())
# Finalisation du PDF
doc.build(story)
# Ouverture du PDF
if ouverture == True :
FonctionsPerso.LanceFichierExterne(nomDoc)
示例8: __init__
# 需要导入模块: from reportlab.platypus.doctemplate import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.doctemplate.BaseDocTemplate import modeleDoc [as 别名]
def __init__(self, dictValeurs={}, dictOptions={}, IDmodele=None, ouverture=True, nomFichier=None):
""" Impression """
global DICT_VALEURS, DICT_OPTIONS
DICT_VALEURS = dictValeurs
DICT_OPTIONS = dictOptions
# Initialisation du document
if nomFichier == None:
nomDoc = FonctionsPerso.GenerationNomDoc("INSCRIPTIONS", "pdf")
else:
nomDoc = nomFichier
doc = BaseDocTemplate(nomDoc, pagesize=TAILLE_PAGE, showBoundary=False)
# Mémorise le ID du modèle
modeleDoc = DLG_Noedoc.ModeleDoc(IDmodele=IDmodele)
doc.modeleDoc = modeleDoc
# Importe le template de la première page
doc.addPageTemplates(MyPageTemplate(pageSize=TAILLE_PAGE, doc=doc))
story = []
styleSheet = getSampleStyleSheet()
h3 = styleSheet['Heading3']
styleTexte = styleSheet['BodyText']
styleTexte.fontName = "Helvetica"
styleTexte.fontSize = 9
styleTexte.borderPadding = 9
styleTexte.leading = 12
# ----------- Insertion du contenu des frames --------------
listeLabels = []
for IDinscription, dictValeur in dictValeurs.iteritems():
listeLabels.append((dictValeur["{FAMILLE_NOM}"], IDinscription))
listeLabels.sort()
for labelDoc, IDinscription in listeLabels:
dictValeur = dictValeurs[IDinscription]
if dictValeur["select"] == True:
story.append(DocAssign("IDinscription", IDinscription))
nomSansCivilite = dictValeur["{FAMILLE_NOM}"]
story.append(Bookmark(nomSansCivilite, str(IDinscription)))
# ----------- Insertion du cadre principal --------------
cadre_principal = doc.modeleDoc.FindObjet("cadre_principal")
if cadre_principal != None:
if DICT_OPTIONS.has_key("intro") and DICT_OPTIONS["intro"] != None or DICT_OPTIONS.has_key("tableau" ) and DICT_VALEURS["tableau"] == True:
# ------------------- TITRE -----------------
dataTableau = []
largeursColonnes = [TAILLE_CADRE_CONTENU[2], ]
dataTableau.append((_(u"Confirmation d'inscription"),))
dataTableau.append((u"",))
style = TableStyle([
('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
('FONT', (0, 0), (0, 0), "Helvetica-Bold", 19),
('FONT', (0, 1), (0, 1), "Helvetica", 8),
('LINEBELOW', (0, 0), (0, 0), 0.25, colors.black),
('ALIGN', (0, 0), (-1, -1), 'LEFT'),
])
tableau = Table(dataTableau, largeursColonnes)
tableau.setStyle(style)
story.append(tableau)
story.append(Spacer(0, 10))
# TEXTE D'INTRODUCTION
paraStyleIntro = ParagraphStyle(name="intro",
fontName="Helvetica",
fontSize=11,
leading=14,
spaceBefore=0,
spaceafter=0,
leftIndent=0,
rightIndent=0,
alignment=0,
)
if DICT_OPTIONS.has_key("intro") and DICT_OPTIONS["intro"] != None:
texteIntro = DICT_VALEURS["intro"]
story.append(Paragraph(u"<i>%s</i>" % texteIntro, paraStyleIntro))
story.append(Spacer(0, 20))
if DICT_OPTIONS.has_key("tableau") and DICT_OPTIONS["tableau"] == True:
# ------------------- TABLEAU CONTENU -----------------
dataTableau = []
largeursColonnes = [80, 280]
paraStyle = ParagraphStyle(name="detail",
fontName="Helvetica-Bold",
fontSize=9,
)
dataTableau.append((_(u"Nom"), Paragraph(DICT_VALEURS["{INDIVIDU_NOM}"], paraStyle)))
dataTableau.append((_(u"Prénom"), Paragraph(DICT_VALEURS["{INDIVIDU_PRENOM}"], paraStyle)))
dataTableau.append((_(u"Activité"), Paragraph(DICT_VALEURS["{ACTIVITE_NOM_LONG}"], paraStyle)))
dataTableau.append((_(u"Groupe"), Paragraph(DICT_VALEURS["{GROUPE_NOM_LONG}"], paraStyle)))
dataTableau.append((_(u"Catégorie"), Paragraph(DICT_VALEURS["{NOM_CATEGORIE_TARIF}"], paraStyle)))
style = TableStyle([
('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
('FONT', (0, 0), (0, -1), "Helvetica", 9),
('GRID', (0, 0), (-1, -1), 0.25, colors.black),
('ALIGN', (0, 0), (0, -1), 'RIGHT'),
#.........这里部分代码省略.........