def generate_style(self): super(InvoiceBaseReport, self).generate_style() self.style.add( ParagraphStyle(name='Address', parent=self.style['Normal'], fontName=get_font(self.settings.font_name).bold, fontSize=1.2 * self.settings.font_size, leading=1.45 * self.settings.font_size)) self.style.add( BaseTableStyle(name='InvoiceBaseReferencesTable', parent=self.style['ReportTable'], cmds=[ ('ALIGN', (-1, 0), (-1, -1), 'RIGHT'), ('VALIGN', (0, 0), (-1, 0), 'BOTTOM'), ('FONTSIZE', (0, 0), (0, 0), 1.5 * self.settings.font_size), ('FONTSIZE', (-1, 0), (-1, 0), 1.2 * self.settings.font_size), ('LEADING', (0, 0), (0, 0), 2 * self.settings.font_size), ('LEADING', (-1, 0), (-1, 0), 1.5 * self.settings.font_size), ('LEFTPADDING', (0, 0), (-1, -1), 0), ('RIGHTPADDING', (0, 0), (-1, -1), 0), ])) self.style.add( BaseTableStyle(name='InvoiceBaseItemsTable', parent=self.style['ReportTable'], cmds=[ ('ALIGN', (1, 0), (-1, -1), 'RIGHT'), ('TEXTCOLOR', (0, 0), (-1, 0), self.settings.hex_font_base_color), ('BACKGROUND', (0, 0), (-1, 0), self.settings.hex_base_color), ])) self.style.add( BaseTableStyle(name='InvoiceBaseSummaryTable', parent=self.style['Table'], cmds=[ ('FONTNAME', (0, -1), (-1, -1), get_font(self.settings.font_name).bold), ('FONTSIZE', (0, -1), (-1, -1), 1.2 * self.settings.font_size), ('LEADING', (0, -1), (-1, -1), 1.5 * self.settings.font_size), ('ALIGN', (0, 0), (-1, -1), 'RIGHT'), ('TEXTCOLOR', (-2, -1), (-1, -1), self.settings.hex_font_base_color), ('BACKGROUND', (-1, 0), (-1, -1), self.settings.hex_base_color.clone(alpha=0.1)), ('BACKGROUND', (-2, -1), (-1, -1), self.settings.hex_base_color), ('LINEBELOW', (0, 0), (-1, -2), 4, colors.white), ('TOPPADDING', (0, 1), (-1, -1), 6), ('BOTTOMPADDING', (0, 0), (-1, -2), 6), ]))
def generate_style(self): super(InvoiceBaseReport, self).generate_style() self.style.add(ParagraphStyle( name='Address', parent=self.style['Normal'], fontName=get_font(self.settings.font_name).bold, fontSize=1.2 * self.settings.font_size, leading=1.45 * self.settings.font_size )) self.style.add(BaseTableStyle( name='InvoiceBaseReferencesTable', parent=self.style['ReportTable'], cmds=[ ('ALIGN', (-1, 0), (-1, -1), 'RIGHT'), ('VALIGN', (0, 0), (-1, 0), 'BOTTOM'), ('FONTSIZE', (0, 0), (0, 0), 1.5 * self.settings.font_size), ('FONTSIZE', (-1, 0), (-1, 0), 1.2 * self.settings.font_size), ('LEADING', (0, 0), (0, 0), 2 * self.settings.font_size), ('LEADING', (-1, 0), (-1, 0), 1.5 * self.settings.font_size), ('LEFTPADDING', (0, 0), (-1, -1), 0), ('RIGHTPADDING', (0, 0), (-1, -1), 0), ] )) self.style.add(BaseTableStyle( name='InvoiceBaseItemsTable', parent=self.style['ReportTable'], cmds=[ ('ALIGN', (1, 0), (-1, -1), 'RIGHT'), ('TEXTCOLOR', (0, 0), (-1, 0), self.settings.hex_font_base_color), ('BACKGROUND', (0, 0), (-1, 0), self.settings.hex_base_color), ] )) self.style.add(BaseTableStyle( name='InvoiceBaseSummaryTable', parent=self.style['Table'], cmds=[ ('FONTNAME', (0, -1), (-1, -1), get_font(self.settings.font_name).bold), ('FONTSIZE', (0, -1), (-1, -1), 1.2 * self.settings.font_size), ('LEADING', (0, -1), (-1, -1), 1.5 * self.settings.font_size), ('ALIGN', (0, 0), (-1, -1), 'RIGHT'), ('TEXTCOLOR', (-2, -1), (-1, -1), self.settings.hex_font_base_color), ('BACKGROUND', (-1, 0), (-1, -1), self.settings.hex_base_color.clone(alpha=0.1)), ('BACKGROUND', (-2, -1), (-1, -1), self.settings.hex_base_color), ('LINEBELOW', (0, 0), (-1, -2), 4, colors.white), ('TOPPADDING', (0, 1), (-1, -1), 6), ('BOTTOMPADDING', (0, 0), (-1, -2), 6), ] ))
def draw_addresses_labels(self, canvas, document): # Addresses labels canvas.saveState() canvas.setLineWidth(0.2) canvas.setLineCap(1) canvas.setStrokeColor(self.settings.hex_base_color) canvas.setFont(get_font(self.settings.font_name).regular, 9) canvas.setFillColor(self.settings.hex_base_color) canvas.line( self.settings.page_size.from_left(), self.settings.page_size.from_bottom(60 * mm), self.settings.page_size.from_left( self.settings.page_size.scaled_width(75 * mm)), self.settings.page_size.from_bottom(60 * mm)) canvas.line( self.settings.page_size.from_left( self.settings.page_size.scaled_width(95 * mm)), self.settings.page_size.from_bottom(60 * mm), self.settings.page_size.from_left( self.settings.page_size.scaled_width(170 * mm)), self.settings.page_size.from_bottom(60 * mm)) canvas.drawString(self.settings.page_size.from_left(), self.settings.page_size.from_bottom(64 * mm), _("Billing address").upper()) canvas.drawString( self.settings.page_size.from_left( self.settings.page_size.scaled_width(95 * mm)), self.settings.page_size.from_bottom(64 * mm), _("Delivery address").upper()) canvas.restoreState()
def draw_addresses_labels(self, canvas, document): # Addresses labels canvas.saveState() canvas.setLineWidth(0.2) canvas.setLineCap(1) canvas.setStrokeColor(self.settings.hex_base_color) canvas.setFont(get_font(self.settings.font_name).regular, 9) canvas.setFillColor(self.settings.hex_base_color) canvas.line( self.settings.page_size.from_left(), self.settings.page_size.from_bottom(60*mm), self.settings.page_size.from_left(self.settings.page_size.scaled_width(75*mm)), self.settings.page_size.from_bottom(60*mm) ) canvas.line( self.settings.page_size.from_left(self.settings.page_size.scaled_width(95*mm)), self.settings.page_size.from_bottom(60*mm), self.settings.page_size.from_left(self.settings.page_size.scaled_width(170*mm)), self.settings.page_size.from_bottom(60*mm) ) canvas.drawString(self.settings.page_size.from_left(), self.settings.page_size.from_bottom(64*mm), _("Billing address").upper()) canvas.drawString(self.settings.page_size.from_left(self.settings.page_size.scaled_width(95*mm)), self.settings.page_size.from_bottom(64*mm), _("Delivery address").upper()) canvas.restoreState()
def generate_style(self): self.style = StyleSheet1() self.style.add(ParagraphStyle(name='Normal', fontName=get_font( self.settings.font_name).regular, fontSize=self.settings.font_size, textColor=self.settings.hex_font_color, leading=1.2 * self.settings.font_size), alias='p') self.style.add( ParagraphStyle(name='BodyText', parent=self.style['Normal'], spaceBefore=6)) self.style.add( ParagraphStyle(name='Italic', parent=self.style['BodyText'], fontName=get_font(self.settings.font_name).italic)) self.style.add( ParagraphStyle(name='Bold', parent=self.style['BodyText'], fontName=get_font(self.settings.font_name).bold)) self.style.add(ParagraphStyle(name='Heading1', parent=self.style['Normal'], fontName=get_font( self.settings.font_name).bold, fontSize=1.5 * self.settings.font_size, leading=2 * self.settings.font_size, spaceAfter=6), alias='h1') self.style.add(ParagraphStyle(name='Heading2', parent=self.style['Normal'], fontName=get_font( self.settings.font_name).bold, fontSize=1.25 * self.settings.font_size, leading=1.75 * self.settings.font_size, spaceBefore=12, spaceAfter=6), alias='h2') self.style.add( ParagraphStyle( name='Small', parent=self.style['Normal'], fontSize=0.9 * self.settings.font_size, leading=1 * self.settings.font_size, )) self.style.add( ParagraphStyle( name='Smaller', parent=self.style['Normal'], fontSize=0.75 * self.settings.font_size, leading=0.9 * self.settings.font_size, )) self.style.add( ParagraphStyle(name='PageNumbering', parent=self.style['Smaller'], alignment=TA_RIGHT)) self.style.add( BaseTableStyle(name='Table', cmds=[ ('FONTNAME', (0, 0), (-1, -1), get_font(self.settings.font_name).regular), ('FONTSIZE', (0, 0), (-1, -1), self.settings.font_size), ('LEADING', (0, 0), (-1, -1), 1.2 * self.settings.font_size), ('TEXTCOLOR', (0, 0), (-1, -1), self.settings.hex_font_color), ('TOPPADDING', (0, 0), (-1, -1), 4), ('BOTTOMPADDING', (0, 0), (-1, -1), 4), ('VALIGN', (0, 0), (-1, -1), 'TOP'), ])) self.style.add( BaseTableStyle(name='LayoutTable', parent=self.style['Table'], cmds=[ ('TOPPADDING', (0, 0), (-1, -1), 0), ('LEFTPADDING', (0, 0), (-1, -1), 0), ('BOTTOMPADDING', (0, 0), (-1, -1), 0), ('RIGHTPADDING', (0, 0), (-1, -1), 0), ])) self.style.add( BaseTableStyle( name='ReportTable', parent=self.style['Table'], cmds=[ ('FONTNAME', (0, 0), (-1, 0), get_font(self.settings.font_name).bold), ('FONTSIZE', (0, 0), (-1, 0), 1.1 * self.settings.font_size), ('LEADING', (0, 0), (-1, 0), 1.4 * self.settings.font_size), ('ROWBACKGROUNDS', (0, 1), (-1, -1), (colors.transparent, self.settings.hex_base_color.clone(alpha=0.1))), ])) # For monetary lists self.style.add( ParagraphStyle( name='Monospaced', parent=self.style['Normal'], fontName= 'Courier', # MUST change to a font closest to the base one ))
def generate_style(self): self.style = StyleSheet1() self.style.add(ParagraphStyle( name='Normal', fontName=get_font(self.settings.font_name).regular, fontSize=self.settings.font_size, textColor=self.settings.hex_font_color, leading=1.2 * self.settings.font_size ), alias='p') self.style.add(ParagraphStyle( name='BodyText', parent=self.style['Normal'], spaceBefore=6 )) self.style.add(ParagraphStyle( name='Italic', parent=self.style['BodyText'], fontName=get_font(self.settings.font_name).italic )) self.style.add(ParagraphStyle( name='Bold', parent=self.style['BodyText'], fontName=get_font(self.settings.font_name).bold )) self.style.add(ParagraphStyle( name='Heading1', parent=self.style['Normal'], fontName=get_font(self.settings.font_name).bold, fontSize=1.5 * self.settings.font_size, leading=2 * self.settings.font_size, spaceAfter=6 ), alias='h1') self.style.add(ParagraphStyle( name='Heading2', parent=self.style['Normal'], fontName=get_font(self.settings.font_name).bold, fontSize=1.25 * self.settings.font_size, leading=1.75 * self.settings.font_size, spaceBefore=12, spaceAfter=6 ), alias='h2') self.style.add(ParagraphStyle( name='Small', parent=self.style['Normal'], fontSize=0.9 * self.settings.font_size, leading=1 * self.settings.font_size, )) self.style.add(ParagraphStyle( name='Smaller', parent=self.style['Normal'], fontSize=0.75 * self.settings.font_size, leading=0.9 * self.settings.font_size, )) self.style.add(ParagraphStyle( name='PageNumbering', parent=self.style['Smaller'], alignment=TA_RIGHT )) self.style.add(BaseTableStyle( name='Table', cmds=[ ('FONTNAME', (0, 0), (-1, -1), get_font(self.settings.font_name).regular), ('FONTSIZE', (0, 0), (-1, -1), self.settings.font_size), ('LEADING', (0, 0), (-1, -1), 1.2 * self.settings.font_size), ('TEXTCOLOR', (0, 0), (-1, -1), self.settings.hex_font_color), ('TOPPADDING', (0, 0), (-1, -1), 4), ('BOTTOMPADDING', (0, 0), (-1, -1), 4), ('VALIGN', (0, 0), (-1, -1), 'TOP'), ] )) self.style.add(BaseTableStyle( name='LayoutTable', parent=self.style['Table'], cmds=[ ('TOPPADDING', (0, 0), (-1, -1), 0), ('LEFTPADDING', (0, 0), (-1, -1), 0), ('BOTTOMPADDING', (0, 0), (-1, -1), 0), ('RIGHTPADDING', (0, 0), (-1, -1), 0), ] )) self.style.add(BaseTableStyle( name='ReportTable', parent=self.style['Table'], cmds=[ ('FONTNAME', (0, 0), (-1, 0), get_font(self.settings.font_name).bold), ('FONTSIZE', (0, 0), (-1, 0), 1.1 * self.settings.font_size), ('LEADING', (0, 0), (-1, 0), 1.4 * self.settings.font_size), ('ROWBACKGROUNDS', (0, 1), (-1, -1), (colors.transparent, self.settings.hex_base_color.clone(alpha=0.1))), ] )) # For monetary lists self.style.add(ParagraphStyle( name='Monospaced', parent=self.style['Normal'], fontName='Courier', # MUST change to a font closest to the base one ))