本文整理汇总了Python中reportlab.platypus.doctemplate.SimpleDocTemplate.pagesize方法的典型用法代码示例。如果您正苦于以下问题:Python SimpleDocTemplate.pagesize方法的具体用法?Python SimpleDocTemplate.pagesize怎么用?Python SimpleDocTemplate.pagesize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reportlab.platypus.doctemplate.SimpleDocTemplate
的用法示例。
在下文中一共展示了SimpleDocTemplate.pagesize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: print_mass_pay
# 需要导入模块: from reportlab.platypus.doctemplate import SimpleDocTemplate [as 别名]
# 或者: from reportlab.platypus.doctemplate.SimpleDocTemplate import pagesize [as 别名]
def print_mass_pay(request, year):
"""
This function contains the required methods to create a PDF
report. It will be merged with the salary app some time
later.
"""
def sch (c):
try:
return c.permanent and c.permanent.organization_serving()
except:
return c.organization_serving()
payment_codes = PaymentCode.objects.all()
category_titles = PaymentCategoryTitle.objects.all()
emp = Employee.objects.get(id=request.session['matched_employee_id'])
try:
emptype = Permanent.objects.get(parent_id=emp.id)
except Permanent.DoesNotExist:
try:
emptype = NonPermanent.objects.get(parent_id=emp.id)
except NonPermanent.DoesNotExist:
try:
emptype = Administrative.objects.get(parent_id=emp.id)
except Administrative.DoesNotExist:
emptype = 0
except:
raise
emp_payments = rprts_from_user(emp.id, year, '11,12,21')
u = set([x['employee_id'] for x in emp_payments])
y = {x['employee_id']: x['year'] for x in emp_payments}
dict_emp = {c.id: [c.lastname,
c.firstname,
c.vat_number,
c.fathername,
c.address,
c.tax_office,
u'%s' % c.profession,
u'%s' % c.profession.description,
c.telephone_number1,
sch(c)] for c in Employee.objects.filter(id__in=u)}
elements = []
reports = []
for empx in u:
r_list = calc_reports(filter(lambda s: s['employee_id'] == empx, emp_payments))
hd = r_list[0]
ft = [r_list[-2]] + [r_list[-1]]
dt = r_list
del dt[0]
del dt[-2]
del dt[-1]
newlist = []
output = dict()
for sublist in dt:
try:
output[sublist[0]] = map(operator.add, output[sublist[0]], sublist[1:])
except KeyError:
output[sublist[0]] = sublist[1:]
for key in output.keys():
newlist.append([key] + output[key])
newlist.sort(key=lambda x: x[0], reverse=True)
r_list = [hd] + newlist + ft
report = {}
report['report_type'] = '1'
report['type'] = ''
report['year'] = y[empx]
report['emp_type'] = 0
report['vat_number'] = dict_emp[empx][2]
report['lastname'] = dict_emp[empx][0]
report['firstname'] = dict_emp[empx][1]
report['fathername'] = dict_emp[empx][3]
report['address'] = dict_emp[empx][4]
report['tax_office'] = dict_emp[empx][5]
report['profession'] = ' '.join([dict_emp[empx][6], dict_emp[empx][7]])
report['telephone_number1'] = dict_emp[empx][8]
report['rank'] = None
report['net_amount1'] = ''
report['net_amount2'] = ''
report['organization_serving'] = dict_emp[empx][9]
report['payment_categories'] = r_list
reports.append(report)
response = HttpResponse(mimetype='application/pdf')
response['Content-Disposition'] = 'attachment; filename=pay_report_%s.pdf' % year
registerFont(TTFont('DroidSans', os.path.join(settings.MEDIA_ROOT,
'DroidSans.ttf')))
registerFont(TTFont('DroidSans-Bold', os.path.join(settings.MEDIA_ROOT,
'DroidSans-Bold.ttf')))
doc = SimpleDocTemplate(response, pagesize=A4)
doc.topMargin = 0.5 * cm
doc.bottomMargin = 0.5 * cm
doc.leftMargin = 1.5 * cm
doc.rightMargin = 1.5 * cm
#.........这里部分代码省略.........