本文整理汇总了Python中reportlab.platypus.doctemplate.BaseDocTemplate类的典型用法代码示例。如果您正苦于以下问题:Python BaseDocTemplate类的具体用法?Python BaseDocTemplate怎么用?Python BaseDocTemplate使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了BaseDocTemplate类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, filename, **kw):
self.allowSplitting = 0
BaseDocTemplate.__init__(self, filename, **kw)
template = PageTemplate('normal', [Frame(2.5*cm, 2.5*cm, 15*cm, 25*cm, id='F1')])
self.addPageTemplates(template)
def afterFlowable(self, flowable):
"Registers TOC entries."
示例2: __init__
def __init__(self, filename, **kw):
m = 2 * cm
from reportlab.lib import pagesizes
PAGESIZE = pagesizes.landscape(pagesizes.A4)
cw, ch = (PAGESIZE[0] - 2 * m) / 2.0, (PAGESIZE[1] - 2 * m)
ch -= 14 * cm
f1 = Frame(
m,
m + 0.5 * cm,
cw - 0.75 * cm,
ch - 1 * cm,
id="F1",
leftPadding=0,
topPadding=0,
rightPadding=0,
bottomPadding=0,
showBoundary=True,
)
f2 = Frame(
cw + 2.7 * cm,
m + 0.5 * cm,
cw - 0.75 * cm,
ch - 1 * cm,
id="F2",
leftPadding=0,
topPadding=0,
rightPadding=0,
bottomPadding=0,
showBoundary=True,
)
BaseDocTemplate.__init__(self, filename, **kw)
template = PageTemplate("template", [f1, f2])
self.addPageTemplates(template)
示例3: __init__
def __init__(self, filename, context, **kw):
BaseDocTemplate.__init__(self, filename, **kw)
self.toc_index = 0
self.main_frame_attr = {'x1': self.leftMargin,
'y1': self.bottomMargin,
'width': self.width,
'height': self.height,
'id':'normal',
'showBoundary': self.showBoundary}
# We keep the main frame reference to resize it during the build
self.main_frame = Frame(**self.main_frame_attr)
self.main_frame_change = False
template_attrs = {'id': 'now', 'frames': [self.main_frame],
'pagesize': kw['pagesize']}
page_template = PageTemplate(**template_attrs)
self.platypus_header_calculate = False
self.platypus_header_height = None
self.platypus_footer = None
self.context = context
self.addPageTemplates([page_template])
self.toc_high_level = self.context.toc_high_level
self.frame_attr = {'leftPadding': 0, 'bottomPadding': 6,
'rightPadding': 0, 'topPadding': 6,
'showBoundary': 0}
self.context = context
# calculate width available
self.width_available = self.width
self.width_available -= self.frame_attr['leftPadding']
self.width_available -= self.frame_attr['rightPadding']
示例4: __init__
def __init__(self, filename, **kw):
self.allowSplitting = 0
self.pagesize = kw.get('pagesize', landscape(A5))
kw['pagesize'] = self.pagesize
BaseDocTemplate.__init__(self, filename, **kw)
w, h = self.pagesize
# self.actualWidth, self.actualHeight = landscape(A5)
self.topMargin = 2.85 * cm
self.leftMargin = 0.15 * cm
self.bottomMargin = 0.15 * cm
fh = h - self.topMargin - self.bottomMargin
fw = w - (2 * self.leftMargin)
frame = Frame(self.leftMargin, self.bottomMargin,
fw, fh,
id='ContentFrame',
showBoundary=False)
template = PageTemplate('normal', frames=[frame, ],
pagesize=self.pagesize)
self.loadFonts()
self.addPageTemplates(template)
示例5: build
def build(self, flowables, onFirstPage=_doNothing, onLaterPages=_doNothing, canvasmaker=canvas.Canvas):
"""build the document using the flowables. Annotate the first page using the onFirstPage
function and later pages using the onLaterPages function. The onXXX pages should follow
the signature
def myOnFirstPage(canvas, document):
# do annotations and modify the document
...
The functions can do things like draw logos, page numbers,
footers, etcetera. They can use external variables to vary
the look (for example providing page numbering or section names).
"""
self._calc() # in case we changed margins sizes etc
frameT = Frame(self.leftMargin, self.bottomMargin, self.width, self.height, id="normal")
self.addPageTemplates(
[
PageTemplate(id="First", frames=frameT, onPage=onFirstPage, pagesize=self.pagesize),
PageTemplate(id="Later", frames=frameT, onPage=onLaterPages, pagesize=self.pagesize),
]
)
if onFirstPage is _doNothing and hasattr(self, "onFirstPage"):
self.pageTemplates[0].beforeDrawPage = self.onFirstPage
if onLaterPages is _doNothing and hasattr(self, "onLaterPages"):
self.pageTemplates[1].beforeDrawPage = self.onLaterPages
BaseDocTemplate.build(self, flowables, canvasmaker=canvasmaker)
示例6: __init__
def __init__(self, filename, **kw):
frame1 = Frame(2.5*cm, 2.5*cm, 15*cm, 25*cm, id='F1')
frame2 = Frame(2.5*cm, 2.5*cm, 310, 25*cm, id='F2')
self.allowSplitting = 0
BaseDocTemplate.__init__(self, filename, **kw)
template = PageTemplate('normal', [frame1], myMainPageFrame)
template1 = PageTemplate('special', [frame2], myMainPageFrame)
self.addPageTemplates([template,template1])
示例7: __init__
def __init__(self, filename, **kw):
frame1 = Frame(2.5*cm, 2.5*cm, 16*cm, 25*cm, id='F1')
self.allowSplitting = 0
BaseDocTemplate.__init__(self, filename, **kw)
template = PageTemplate('nomal', [frame1], onPageEnd=HeaderFooter)
#template = PageTemplate('nomal', [Frame(2.5*cm, 2.5*cm, 16*cm, 25*cm, id='F1')], onPageEnd=HeaderFooter)
#template = PageTemplate('nomal', [Frame(2.5*cm, 2.5*cm, 16*cm, 25*cm, id='F1', showBoundary=1)], onPageEnd=HeaderFooter)
self.addPageTemplates(template)
示例8: export
def export(listino, luogoDiRiferimento):
response = http.HttpResponse(content_type='application/pdf')
width, height = portrait(A4)
pageTemplates = [
PageTemplate(id='Listino', onPage=onPageListino),
]
doc = BaseDocTemplate(
response,
pagesize=(width, height),
leftMargin=1 * cm,
rightMargin=1 * cm,
bottomMargin=1.5 * cm,
topMargin=1 * cm,
showBoundary=test,
pageTemplates=pageTemplates,
)
doc.listino = listino # arricchisco il doc
righe_prezzo = listino.prezzolistino_set.all()
story = []
listinoEsclusivo = getTabellaListino(doc, righe_prezzo, 'T', luogoDiRiferimento)
if listinoEsclusivo:
title = Paragraph("SERVIZIO TAXI ESCLUSIVO", normalStyle)
story.append(title)
story.append(listinoEsclusivo)
listinoCollettivo = getTabellaListino(doc, righe_prezzo, 'C', luogoDiRiferimento)
if listinoEsclusivo and listinoCollettivo:
story.append(Spacer(1, 1.5 * cm))
if listinoCollettivo:
title = Paragraph("SEVIZIO COLLETIVO MINIBUS", normalStyle)
story.append(KeepTogether([title, listinoCollettivo]))
if not listinoCollettivo and not listinoEsclusivo:
story.append(
Paragraph("Non abbiamo nessuna corsa specificata nel listino.", normal_style)
)
# footer
footer_style = ParagraphStyle(name='Justify', alignment=TA_JUSTIFY, fontSize=8)
# footer_height = 0
if LISTINO_FOOTER:
note_finali_lines = [LISTINO_FOOTER]
story.append(Spacer(1, 1 * cm))
note_finali = Paragraph("<br/>".join(note_finali_lines),
footer_style)
# note_finali.wrap(width - doc.rightMargin - doc.leftMargin, 5 * cm)
# note_finali.drawOn(canvas, doc.leftMargin, doc.bottomMargin)
# footer_height = note_finali.height
story.append(note_finali)
doc.build(story, canvasmaker=NumberedCanvas)
return response
示例9: __init__
def __init__(self, filename, **kw):
BaseDocTemplate.__init__(self, filename, **kw)
self.addPageTemplates(
[
PageTemplate(id="plain", frames=[Frame(2.5 * cm, 2.5 * cm, 16 * cm, 25 * cm, id="F1")]),
LeftPageTemplate(),
RightPageTemplate(),
]
)
示例10: __init__
def __init__(self, filename, **kw):
frame1 = Frame(2.5*cm, 15.5*cm, 6*cm, 10*cm, id='F1')
frame2 = Frame(11.5*cm, 15.5*cm, 6*cm, 10*cm, id='F2')
frame3 = Frame(2.5*cm, 2.5*cm, 6*cm, 10*cm, id='F3')
frame4 = Frame(11.5*cm, 2.5*cm, 6*cm, 10*cm, id='F4')
self.allowSplitting = 0
self.showBoundary = 1
BaseDocTemplate.__init__(self, filename, **kw)
template = PageTemplate('normal', [frame1, frame2, frame3, frame4], myMainPageFrame)
self.addPageTemplates(template)
示例11: __init__
def __init__(self, filename, pagesize, stickysize, show_boundary=False):
self.cols = int(pagesize[0] // stickysize[0])
self.rows = int(pagesize[1] // stickysize[1])
templates = [
StickyPage('sticky-page', pagesize, stickysize, self.cols,
self.rows, show_boundary),
]
BaseDocTemplate.__init__(self, filename, pageTemplates=templates,
allowSplitting=0, creator=self._get_creator())
示例12: __init__
def __init__(self, output, status_callback=None, tocCallback=None, **kwargs):
self.bookmarks = []
BaseDocTemplate.__init__(self, output, **kwargs)
if status_callback:
self.estimatedDuration = 0
self.progress = 0
self.setProgressCallBack(self.progressCB)
self.status_callback = status_callback
self.tocCallback = tocCallback
self.title = kwargs["title"]
示例13: __init__
def __init__(self, filename, **kw):
frame1 = Frame(2.5 * cm, 15.5 * cm, 6 * cm, 10 * cm, id="F1")
frame2 = Frame(11.5 * cm, 15.5 * cm, 6 * cm, 10 * cm, id="F2")
frame3 = Frame(2.5 * cm, 2.5 * cm, 6 * cm, 10 * cm, id="F3")
frame4 = Frame(11.5 * cm, 2.5 * cm, 6 * cm, 10 * cm, id="F4")
self.allowSplitting = 0
self.showBoundary = 1
BaseDocTemplate.__init__(self, filename, **kw)
template = PageTemplate("normal", [frame1, frame2, frame3, frame4], myMainPageFrame)
self.addPageTemplates(template)
示例14: __init__
def __init__(self, filename, **kw):
frame1 = Frame(2.5 * cm, 2.5 * cm, 15 * cm, 25 * cm, id="F1")
self.allowSplitting = 0
BaseDocTemplate.__init__(self, filename, **kw)
template1 = PageTemplate("normal", [frame1], myMainPageFrame)
frame2 = Frame(2.5 * cm, 16 * cm, 15 * cm, 10 * cm, id="F2", showBoundary=1)
frame3 = Frame(2.5 * cm, 2.5 * cm, 15 * cm, 10 * cm, id="F3", showBoundary=1)
template2 = PageTemplate("updown", [frame2, frame3])
self.addPageTemplates([template1, template2])
示例15: multiBuild
def multiBuild(self,flowables,onFirstPage=_doNothing, onLaterPages=_doNothing):
self._calc() #in case we changed margins sizes etc
frameFirst = Frame(2*cm, 2*cm, 17*cm, 23*cm, id='F1')
frameLater = Frame(2.5*cm, 2*cm, 16*cm, 24.5*cm, id='F2')
self.addPageTemplates([
PageTemplate (id='First',frames=frameFirst, onPage=onFirstPage, pagesize=self.pagesize),
PageTemplate(id='Later',frames=frameLater, onPage=onLaterPages, pagesize=self.pagesize)
])
BaseDocTemplate.multiBuild(self,flowables)