本文整理汇总了Python中reportlab.platypus.BaseDocTemplate.build方法的典型用法代码示例。如果您正苦于以下问题:Python BaseDocTemplate.build方法的具体用法?Python BaseDocTemplate.build怎么用?Python BaseDocTemplate.build使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reportlab.platypus.BaseDocTemplate
的用法示例。
在下文中一共展示了BaseDocTemplate.build方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ReporteVertical
# 需要导入模块: from reportlab.platypus import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.BaseDocTemplate import build [as 别名]
class ReporteVertical(object):
"""docstring for ReporteVertical"""
def __init__(self, nombreReporteP, directorioArchivoP, operadorP):
super(ReporteVertical, self).__init__()
self.PAGE_HEIGHT = letter[1]
self.PAGE_WIDTH = letter[0]
self.story = []
self.styles = getSampleStyleSheet()
self.nombreReporte = str(nombreReporteP)
self.dirArchivo = str(directorioArchivoP)
self.tipoArchivo = ".pdf"
global operador
global imagenes
operador = str(operadorP)
imagenes = ['static/image/universidad.jpg', 'static/image/alcaldia.png']
def inicializarReporte(self, nombreReporteP):
self.doc = BaseDocTemplate(nombreReporteP, pagesize=letter)
def contenidoFrame(self):
self.contenidoFrame = Frame(self.doc.leftMargin, (self.doc.height - self.doc.topMargin), self.doc.width, self.doc.height / 6, showBoundary=1)
def constructorPaginas(self):
self.doc.addPageTemplates([PageTemplate(id='reporte', frames=self.contenidoFrame, onPage =encabezado, onPageEnd=piePagina)])
def crearReporteVertical(self):
try:
self.inicializarReporte(os.path.join(self.dirArchivo, self.nombreReporte + self.tipoArchivo))
self.contenidoFrame()
self.constructorPaginas()
self.story.append(Paragraph("El viaje del navegante. Blog de Python", self.styles['Normal']))
self.doc.build(self.story)
os.system(os.path.join(self.dirArchivo, self.nombreReporte + self.tipoArchivo))
except Exception, e:
print e
示例2: build_pdf
# 需要导入模块: from reportlab.platypus import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.BaseDocTemplate import build [as 别名]
def build_pdf(filename):
doc = BaseDocTemplate(filename)
column_gap = 1 * cm
doc.addPageTemplates(
[
PageTemplate(
frames=[
Frame(
doc.leftMargin,
doc.bottomMargin,
doc.width / 2,
doc.height,
id='left',
rightPadding=column_gap / 2,
showBoundary=0 # set to 1 for debugging
),
Frame(
doc.leftMargin + doc.width / 2,
doc.bottomMargin,
doc.width / 2,
doc.height,
id='right',
leftPadding=column_gap / 2,
showBoundary=0
),
]
),
]
)
flowables = [
Paragraph('word ' * 700, ParagraphStyle('default')),
]
doc.build(flowables)
示例3: create_pdf
# 需要导入模块: from reportlab.platypus import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.BaseDocTemplate import build [as 别名]
def create_pdf(data):
report_header='./static/images/report-header.jpg'
other_header='./static/images/report-header2.jpg'
today=data[0]
pname=data[1]
orgname=data[2]
mission=data[3]
product=data[4]
puser=data[5]
inputs=data[6]
outputs=data[7]
controls=data[8]
plots=data[9]
regs=data[10]
reporttext = []
#File Name
pdfname="hello"+pname+"_"+today
doc=BaseDocTemplate(pdfname,pagesize=letter)
frame=Frame(doc.leftMargin,doc.bottomMargin,doc.width,doc.height,id='normal')
template=PageTemplate(id='test',frames=frame,onPage=footer)
doc.addPageTemplates([template])
styles = getSampleStyleSheet()
methods="In keeping with the ReadyMade tenet to keep the analysis simple, we look for one key outcome variable that is highly correlated with the other available outcome variables "
reporttext.append(Paragraph(methods,styles['Normal']))
doc.build(metext)
return pdfname
示例4: fill
# 需要导入模块: from reportlab.platypus import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.BaseDocTemplate import build [as 别名]
def fill(self, fname, pagesize, events, topspace, bottomspace, margins):
tf = tempfile.NamedTemporaryFile(delete=False)
pagesize = (pagesize[0] / 2 - 6, pagesize[1])
doc = BaseDocTemplate(tf.name, pagesize=pagesize, leftMargin=margins, bottomMargin=bottomspace, rightMargin=margins, topMargin=topspace)
column = Frame(doc.leftMargin+6, doc.bottomMargin+0.5*inch, doc.width-6, 3.3*inch)
rsvp = Frame(doc.leftMargin+6, doc.bottomMargin, doc.width-6, 0.5*inch)
doc.addPageTemplates(PageTemplate(frames=[rsvp, column]))
# render one side
story = []
story.append(Paragraph("Please RSVP at map.berniesanders.com", styles["default"]))
story.append(FrameBreak())
for e in events:
story.append(Event(e).render())
doc.build(story)
# now duplicate for 2-up
src = PdfFileReader(open(tf.name, "rb"))
out = PdfFileWriter()
lhs = src.getPage(0)
lhs.mergeTranslatedPage(lhs, lhs.mediaBox.getUpperRight_x(), 0, True)
out.addPage(lhs)
with open(fname.name, "wb") as outfile:
out.write(outfile)
os.remove(tf.name)
示例5: build
# 需要导入模块: from reportlab.platypus import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.BaseDocTemplate import build [as 别名]
def build(self, printfile, style=1):
template = SimpleDocTemplate(printfile, showBoundary=0)
tFirst = PageTemplate(id='First', frames=self.getStyle(1, style), onPage=self.myPages, pagesize=defaultPageSize)
tNext = PageTemplate(id='Later', frames=self.getStyle(2, style), onPage=self.myPages, pagesize=defaultPageSize)
template.addPageTemplates([tFirst, tNext])
template.allowSplitting = 1
BaseDocTemplate.build(template, self.data)
示例6: _create_application
# 需要导入模块: from reportlab.platypus import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.BaseDocTemplate import build [as 别名]
def _create_application(application_buffer, application):
every_page_frame = Frame(PAGE_MARGIN, PAGE_MARGIN, PAGE_WIDTH - 2 * PAGE_MARGIN, PAGE_HEIGHT - 2 * PAGE_MARGIN,
id='EveryPagesFrame')
every_page_template = PageTemplate(id='EveryPages', frames=[every_page_frame])
doc = BaseDocTemplate(application_buffer, pageTemplates=[every_page_template], pagesize=A4)
elements = []
elements.append(Paragraph(application.licence_type.name.encode('UTF-8'), styles['ApplicationTitle']))
# cannot use licence get_title_with_variants because licence isn't saved yet so can't get variants
if application.variants.exists():
variants = '({})'.format(' / '.join(application.variants.all().values_list('name', flat=True)))
elements.append(Paragraph(variants, styles['ApplicationVariantsTitle']))
elements.append(Spacer(1, SECTION_BUFFER_HEIGHT))
elements.append(_create_application_metadata(application))
elements.append(Spacer(1, SECTION_BUFFER_HEIGHT))
for field, datum in zip(application.licence_type.application_schema, application.data):
_create_application_questionaire(field, datum, elements, 0)
doc.build(elements)
return application_buffer
示例7: makeForm
# 需要导入模块: from reportlab.platypus import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.BaseDocTemplate import build [as 别名]
def makeForm():
''' Make PDF of MyPidge app form. '''
posts = []
pageWidth, pageHeight = A4
formPages = (
FormFront(None),
FormFront(None),
FormFront(None),
FormFront(None),
FormBack(None),
FormBack(None),
FormBack(None),
FormBack(None),
)
for (offset, frame) in enumerate(formPages):
posts.append(frame.makeFrame())
if len(formPages)==(offset+1):
# Break page at end of a PocketPidge
# But need to do this twice if on an odd page
posts.append(PageBreak())
else:
posts.append(FrameBreak())
# Build File
document = BaseDocTemplate("form.pdf", pagesize=A4)
template = PageTemplate(frames=createFrames(pageWidth, pageHeight, 2, 2))
document.addPageTemplates(template)
document.build(posts)
示例8: build
# 需要导入模块: from reportlab.platypus import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.BaseDocTemplate import build [as 别名]
def build(self, flowables, onFirstPage=_doNothing, onLaterPages=_doNothing, canvasmaker=Canvas):
#Override the build method
self._calc() #in case we changed margins sizes etc
self.canvas = canvasmaker
firstFrame = Frame(10, # X
0, # Y
A4[0]-20, # width
A4[1]-106, # height
id='normal')
secondFrame = Frame(10, # X
0, # Y
A4[0]-20, # width
A4[1]-46, # height
#showBoundary=True,
id='normal')
self.addPageTemplates([PageTemplate(id='First',
frames=[firstFrame],
pagesize=self.pagesize,
onPage=onFirstPage),
PageTemplate(id='Later',
frames=[secondFrame],
pagesize=self.pagesize,
onPage=onLaterPages),
]
)
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)
示例9: build
# 需要导入模块: from reportlab.platypus import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.BaseDocTemplate import build [as 别名]
def build(self,
header_flowable,
body_flowable,
footer_flowable,
canvasmaker=canvas.Canvas):
"""
Build the document using the flowables.
Set up the page templates that the document can use
"""
self.header_flowable = header_flowable
self.body_flowable = body_flowable
self.footer_flowable = footer_flowable
self.calc_body_size(header_flowable,
footer_flowable,
)
showBoundary = 0 # for debugging set to 1, otherwise 0
body_frame = Frame(self.leftMargin,
self.bottomMargin + self.footer_height,
self.printable_width,
self.body_height,
leftPadding = 0,
bottomPadding = 0,
rightPadding = 0,
topPadding = 0,
id = "body",
showBoundary = showBoundary
)
self.body_frame = body_frame
self.normalPage = PageTemplate (id = 'Normal',
frames = [body_frame,],
onPage = self.add_page_decorators,
pagesize = self.pagesize
)
# @todo set these page templates up
# self.evenPage = PageTemplate (id='even',
# frames=frame_list,
# onPage=self.onEvenPage,
# pagesize=self.pagesize
# )
# self.oddPage = PageTemplate (id='odd',
# frames=frame_list,
# onPage=self.onOddPage,
# pagesize=self.pagesize
# )
self.landscapePage = PageTemplate (id='Landscape',
frames = [body_frame,],
onPage=self.add_page_decorators,
pagesize=landscape(self.pagesize)
)
if self.defaultPage == "Landscape":
self.addPageTemplates(self.landscapePage)
else:
self.addPageTemplates(self.normalPage)
BaseDocTemplate.build(self, self.body_flowable, canvasmaker=canvasmaker)
示例10: build
# 需要导入模块: from reportlab.platypus import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.BaseDocTemplate import build [as 别名]
def build(self, style=1):
template = SimpleDocTemplate(config.get("paths.tempdir", "") + "print.pdf", showBoundary=0)
tFirst = PageTemplate(id='First', frames=self.getStyle(1, style), onPage=self.myPages, pagesize=defaultPageSize)
tNext = PageTemplate(id='Later', frames=self.getStyle(2, style), onPage=self.myPages, pagesize=defaultPageSize)
template.addPageTemplates([tFirst, tNext])
template.allowSplitting = 1
BaseDocTemplate.build(template, self.data)
return template.canv._doc.GetPDFData(template.canv)
示例11: build
# 需要导入模块: from reportlab.platypus import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.BaseDocTemplate import build [as 别名]
def build(self,flowables,onFirstPage=_doNothing, onLaterPages=_doNothing, canvasmaker=canvas.Canvas):
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)
示例12: Print
# 需要导入模块: from reportlab.platypus import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.BaseDocTemplate import build [as 别名]
def Print(doc, day = 1):
params = yield Client().sGet(("params", None))
params['date'] = (params['date_from'] + timedelta(day-1)).strftime("%x")
filename = tempfile.mktemp(".pdf")
c = BaseDocTemplate(filename,
pageTemplates=[MyTemplate(params)],
pagesize=pagesizes.landscape(pagesizes.A4),
rightMargin=1*cm,leftMargin=1*cm, topMargin=1*cm, bottomMargin=1*cm)
c.build(doc)
print("printing")
PrintFile(filename)
示例13: _create_licence_renewal
# 需要导入模块: from reportlab.platypus import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.BaseDocTemplate import build [as 别名]
def _create_licence_renewal(licence_renewal_buffer, licence, site_url):
every_page_frame = Frame(PAGE_MARGIN, PAGE_MARGIN, PAGE_WIDTH - 2 * PAGE_MARGIN,
PAGE_HEIGHT - 160, id='EveryPagesFrame')
every_page_template = PageTemplate(id='EveryPages', frames=every_page_frame, onPage=_create_header)
doc = BaseDocTemplate(licence_renewal_buffer, pageTemplates=[every_page_template], pagesize=A4)
# this is the only way to get data into the onPage callback function
doc.site_url = site_url
doc.build(_create_licence_renewal_elements(licence))
return licence_renewal_buffer
示例14: create_admissions_confirmation
# 需要导入模块: from reportlab.platypus import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.BaseDocTemplate import build [as 别名]
def create_admissions_confirmation(confirmation_buffer, admissionsBooking, mooring_var):
global DPAW_HEADER_LOGO
global LETTER_IMAGE_WIDTH
global LETTER_IMAGE_HEIGHT
if mooring_var["TEMPLATE_GROUP"] == 'rottnest':
DPAW_HEADER_LOGO = os.path.join(settings.BASE_DIR, 'mooring', 'static', 'mooring', 'img','logo-rottnest-island-sm.png')
LETTER_IMAGE_WIDTH = LICENCE_HEADER_IMAGE_WIDTH/2.9
LETTER_IMAGE_HEIGHT = LICENCE_HEADER_IMAGE_HEIGHT/1.4
else:
DPAW_HEADER_LOGO = os.path.join(settings.BASE_DIR, 'mooring', 'static', 'mooring','img','mooring_header.png')
LETTER_IMAGE_WIDTH = LICENCE_HEADER_IMAGE_WIDTH/3.0
LETTER_IMAGE_HEIGHT = LICENCE_HEADER_IMAGE_HEIGHT/3.0
every_page_frame = Frame(PAGE_MARGIN, PAGE_MARGIN, PAGE_WIDTH - 2 * PAGE_MARGIN,
PAGE_HEIGHT - 160, id='EveryPagesFrame')
every_page_template = PageTemplate(id='EveryPages', frames=every_page_frame, onPage=_create_letter_header_footer)
doc = BaseDocTemplate(confirmation_buffer, pageTemplates=[every_page_template], pagesize=A4)
adl = AdmissionsLine.objects.filter(admissionsBooking=admissionsBooking)
elements = []
elements.append(Paragraph('ADMISSIONS FEE PAYMENT CONFIRMATION', styles['InfoTitleVeryLargeCenter']))
table_data = []
table_data.append([Paragraph('Name', styles['BoldLeft']), Paragraph(u'{} ({})'.format(admissionsBooking.customer.get_full_name(), admissionsBooking.customer.email if admissionsBooking.customer else None), styles['Left'])])
table_data.append([Paragraph('Admission Fee confirmation number', styles['BoldLeft']), Paragraph(admissionsBooking.confirmation_number, styles['Left'])])
for line in adl:
table_data.append([Paragraph('Date', styles['BoldLeft']), Paragraph(u'{}'.format(datetime.strftime(line.arrivalDate, '%d/%m/%Y')), styles['Left'])])
overnightStay = ""
if(line.overnightStay):
overnightStay = "Yes"
else:
overnightStay = "No"
table_data.append([Paragraph('Overnight Stay', styles['BoldLeft']), Paragraph(u'{}'.format(overnightStay), styles['Left'])])
if admissionsBooking.noOfAdults > 0:
table_data.append([Paragraph('Adults', styles['BoldLeft']), Paragraph(u'{}'.format(admissionsBooking.noOfAdults), styles['Left'])])
if admissionsBooking.noOfConcessions > 0:
table_data.append([Paragraph('Concessions', styles['BoldLeft']), Paragraph(u'{}'.format(admissionsBooking.noOfConcessions), styles['Left'])])
if admissionsBooking.noOfChildren > 0:
table_data.append([Paragraph('Children', styles['BoldLeft']), Paragraph(u'{}'.format(admissionsBooking.noOfChildren), styles['Left'])])
if admissionsBooking.noOfInfants > 0:
table_data.append([Paragraph('Infants', styles['BoldLeft']), Paragraph(u'{}'.format(admissionsBooking.noOfInfants), styles['Left'])])
elements.append(Table(table_data, colWidths=(200, None), style=TableStyle([('VALIGN', (0, 0), (-1, -1), 'TOP')])))
doc.build(elements)
return confirmation_buffer
示例15: create_pdfdoc
# 需要导入模块: from reportlab.platypus import BaseDocTemplate [as 别名]
# 或者: from reportlab.platypus.BaseDocTemplate import build [as 别名]
def create_pdfdoc(dest_filename, story):
pdf_doc = BaseDocTemplate(dest_filename, pagesize=PAGE_SIZE,
leftMargin=SIDE_MARGIN_SIZE, rightMargin=SIDE_MARGIN_SIZE,
topMargin=VERT_MARGIN_SIZE, bottomMargin=VERT_MARGIN_SIZE)
main_frame = Frame(SIDE_MARGIN_SIZE, VERT_MARGIN_SIZE,
PAGE_SIZE[0] - 2 * SIDE_MARGIN_SIZE, PAGE_SIZE[1] - 2 * VERT_MARGIN_SIZE,
leftPadding = 0, rightPadding = 0, bottomPadding = 0,
topPadding = 0, id = 'main_frame')
main_template = PageTemplate(id = 'main_template', frames = [main_frame])
pdf_doc.addPageTemplates([main_template])
pdf_doc.build(story)