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


Python SimpleDocTemplate.timestamp方法代码示例

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


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

示例1: get

# 需要导入模块: from reportlab.platypus import SimpleDocTemplate [as 别名]
# 或者: from reportlab.platypus.SimpleDocTemplate import timestamp [as 别名]
    def get(self):
        invoice = dbmodels.Invoice.get(self.request.get("ikey"))
        assignments = dbmodels.Assignment.get([str(key) for key in invoice.akeys])
      #  assignments = sorted(assignments, key=lambda assignment: assignment.start_date)
        settings = dbmodels.Settings.get(db.Key.from_path("Settings", "main"))
        timestamp = datetime.datetime.now()
        self.response.headers.add_header("Content-type", "application/pdf")
        self.response.headers.add_header("Content-disposition", 'attachment; filename=%s-%s.pdf' % (str(invoice.partner.name), timestamp.strftime("%Y-%m-%d")))

        doc = SimpleDocTemplate(self.response.out, leftMargin=inch*.5)
        doc.timestamp = timestamp
        Story = []
        style = styles["Normal"]
        style.spaceAfter = inch * 0.5
     #   style.leftIndent = -inch #* 0.5
        address = Paragraph("""
<font size='24' face='Helvetica-Bold'>%s</font><br/>
%s
<br/>
%s
<br/>
<font face='Helvetica-Bold'>SDIN#: %s</font>""" % (settings.companyName, settings.companyAddress.replace("\n","<br/>"), settings.email, settings.sdin), style)
        Story.append(address)
        partnerAddress = Paragraph("""
<font face='Helvetica-Bold'>%s</font><br/>
%s
""" % (invoice.partner.name, invoice.partner.address.replace("\n","<br/>")), style)

        Story.append(partnerAddress)
        Story.append(Paragraph("<font face='Helvetica-Bold'>Invoice Date:</font> %s <br/><font face='Helvetica-Bold'>Invoice Number:</font> %s" % (timestamp.strftime("%Y-%m-%d"), invoice.key().id()), style))

        tableData = []
        tableData.append(["Volunteer",
                          "Project", 
                          "Start Date", 
                          "# Weeks", 
                          
                          "",#"",
                          "Item Total"])
        subTotal = 0
        for i, a in enumerate(assignments):
            a = a.jsonAssignment
            prev = assignments[i-1].jsonAssignment
            addWeeks = a["additionalWeeks"] * a["additionalWeekPrice"]
            if i > 0 and a['volunteer'] == assignments[i-1].jsonAssignment['volunteer']:
                itemSub = a['additionalWeekPrice'] * a['minimum_duration'] + addWeeks
                a['volunteer'] = '"'
            else:
            
                itemSub = a["price"] + addWeeks #- a["discount"]
            assignmentData = [a["volunteer"], 
                              a["project"],
                              a["start_date"], 
                              int(a["num_weeks"]),
                            #  "",
                              "",
                              "$%.2f" % itemSub]
            tableData.append(assignmentData)
            subTotal += itemSub
        subTotal = subTotal + invoice.fees - invoice.discount
        salesTax = subTotal * settings.sales_tax
        total = subTotal + salesTax
        tableData.append(["","","","","Discount:", "-$%.2f" % invoice.discount])
        tableData.append(["","","","","Other Fees:", "$%.2f" % invoice.fees])
        tableData.append(["","","","","Sub-Total:", "$%.2f" % subTotal])
        tableData.append(["","","","","Sales Tax:", "$%.2f" % salesTax])
        tableData.append(["","","","","Total:", "$%.2f" % total])
        
        tableStyle = TableStyle(
            [('ALIGN', (-1,0),(-1,-1), 'RIGHT'),
             ('LINEBELOW',(0,0),(-1,0), 2, colors.black),
             ('LINEBELOW',(0,-6),(-1,-6), 2, colors.black),
#             ('ALIGN', (5,-1),(5,-1), 'RIGHT'),
             ('FACE', (4,-5),(4,-1), 'Helvetica-Bold'),
             ('FACE', (0,0),(-1,0), 'Helvetica-Bold'),
             ('SIZE', (0,0),(-1,-1), 8)])
            
        colWidths = [2*inch, 2*inch, None, None,None, None]
        table = Table(tableData, colWidths=colWidths, style=tableStyle)
        table.hAlign = "LEFT"
        Story.append(table)
        if invoice.comment != "":
            comment = Paragraph("<b>Comments:</b><br/>%s"%invoice.comment, style)
            Story.append(comment)
        bankInfo = Paragraph("""
<b>Bank Info</b><br/>
%s<br/>
%s<br/>
<br/>
<b>Acct. Name:</b> %s<br/> 
<b>Acct. #:</b> %s<br/> 
<b>Routing #:</b> %s<br/> 
<b>Swift Code:</b> %s<br/> 
""" % (settings.bankName, 
       settings.bankAddress.replace("\n", "<br/>"),
       settings.bankAcctName,
       settings.bankAcctNum,
       settings.routingNumber,
       settings.swiftCode), style)
        Story.append(bankInfo)
#.........这里部分代码省略.........
开发者ID:nkieffer,项目名称:ffadocuments,代码行数:103,代码来源:pdftest.py


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