def __parse_datatable2cols(self, matrix_content, firstRow=True): headingRow = _ParagraphStyle("body") _setattribs(headingRow, [('alignment', _TA_RIGHT), ('fontName', 'Helvetica-Bold'), ('textColor', 'black')]) tbody = _ParagraphStyle("body") _setattribs(tbody, [('alignment', _TA_CENTER), ('fontName', 'Helvetica'), ('textColor', 'black')]) parse_headingRow = lambda text, jdx=-1: _Paragraph( u'{}'.format(text), headingRow ) if (firstRow and jdx == 0) else _Paragraph(u'{}'.format(text), tbody) return [[parse_headingRow(cell, j) for j, cell in enumerate(row)] for row in matrix_content]
def __parse_datatable2cols(self, matrix_content, firstRow=True): headingRow = _ParagraphStyle("body") _setattribs(headingRow, [('alignment',_TA_RIGHT),('fontName','Helvetica-Bold'),('textColor','black')]) tbody = _ParagraphStyle("body") _setattribs(tbody, [('alignment', _TA_CENTER),('fontName','Helvetica'),('textColor','black')]) parse_headingRow = lambda text, jdx=-1: _Paragraph(u'{}'.format(text), headingRow) if (firstRow and jdx==0) else _Paragraph(u'{}'.format(text), tbody) return [[parse_headingRow(cell, j) for j,cell in enumerate(row)] for row in matrix_content]
def __parse_datatable(self, matrix_content, footer=False): theader = _ParagraphStyle("body") _setattribs(theader, [('alignment',_TA_CENTER),('fontName','Helvetica-Bold'),('fontSize',10),('textColor','white'),('wordWrap','RTL'),('splitLongWords',1)]) tfooter = _dcopy(theader) _setattribs(tfooter, [('alignment',_TA_RIGHT),('wordWrap','RTL'),('textColor','black')]) tbody = _ParagraphStyle("body") _setattribs(tbody, [('alignment',_TA_JUSTIFY),('fontName','Helvetica'),('fontSize',8),('wordWrap','RTL'),('splitLongWords',1)]) parse_head = lambda text, ft_flag=False: _Paragraph(u"{}".format(text), theader) if not ft_flag else _Paragraph(u"{}".format(text), tfooter) parse_cell = lambda ctx, idx, jdx=-1: parse_head(ctx) if idx==0 else parse_head(ctx, True) if (idx==len(matrix_content)-1 and footer==True) else _Paragraph(ctx, tbody) return [[parse_cell(u"{}".format(cell), i, j) for j,cell in enumerate(row)] for i,row in enumerate(matrix_content)]
def heading_content(self, heading_text, align="left", fontSize=12, sep=0): style = _ParagraphStyle("body") style.alignment = _TA_LEFT if align == "left" else _TA_CENTER if align == "center" else _TA_RIGHT if align == "right" else _TA_JUSTIFY _setattribs(style, [('fontName', 'Helvetica-Bold'), ('fontSize', fontSize), ('textColor', 'black'), ('splitLongWords', 1)]) self.elements += [ _Paragraph(heading_text, style), _Spacer(0, sep * _cm) ]
def body_content(self, list_content, default_style="body", align="justify", before_pg=False, after_pg=False): style = _ParagraphStyle(default_style) style.alignment = _TA_LEFT if align == "left" else _TA_CENTER if align == "center" else _TA_RIGHT if align == "right" else _TA_JUSTIFY self.elements += [_PageBreak()] if before_pg else list() self.elements += [_Paragraph(dt, style) for dt in list_content] self.elements += [_PageBreak()] if after_pg else list()
def __parse_datatable(self, matrix_content, footer=False): theader = _ParagraphStyle("body") _setattribs(theader, [('alignment', _TA_CENTER), ('fontName', 'Helvetica-Bold'), ('fontSize', 10), ('textColor', 'white'), ('wordWrap', 'RTL'), ('splitLongWords', 1)]) tfooter = _dcopy(theader) _setattribs(tfooter, [('alignment', _TA_RIGHT), ('wordWrap', 'RTL'), ('textColor', 'black')]) tbody = _ParagraphStyle("body") _setattribs(tbody, [('alignment', _TA_JUSTIFY), ('fontName', 'Helvetica'), ('fontSize', 8), ('wordWrap', 'RTL'), ('splitLongWords', 1)]) parse_head = lambda text, ft_flag=False: _Paragraph( u"{}".format(text), theader) if not ft_flag else _Paragraph( u"{}".format(text), tfooter) parse_cell = lambda ctx, idx, jdx=-1: parse_head( ctx) if idx == 0 else parse_head(ctx, True) if (idx == len( matrix_content) - 1 and footer == True) else _Paragraph( ctx, tbody) return [[ parse_cell(u"{}".format(cell), i, j) for j, cell in enumerate(row) ] for i, row in enumerate(matrix_content)]
def Paragraph(txt, *args, **kwargs): if not txt: return _Paragraph(u'', *args, **kwargs) return _Paragraph(sanitize(normalize(txt)), *args, **kwargs)
def MarkupParagraph(txt, *args, **kwargs): if not txt: return _Paragraph(u'', *args, **kwargs) return _Paragraph(normalize(txt), *args, **kwargs)
def body_content(self, list_content, default_style="body", align="justify", before_pg=False, after_pg=False): style = _ParagraphStyle(default_style) style.alignment = _TA_LEFT if align=="left" else _TA_CENTER if align=="center" else _TA_RIGHT if align=="right" else _TA_JUSTIFY self.elements += [_PageBreak()] if before_pg else list() self.elements += [_Paragraph(dt, style) for dt in list_content] self.elements += [_PageBreak()] if after_pg else list()
def heading_content(self, heading_text, align="left", fontSize=12, sep=0): style = _ParagraphStyle("body") style.alignment = _TA_LEFT if align=="left" else _TA_CENTER if align=="center" else _TA_RIGHT if align=="right" else _TA_JUSTIFY _setattribs(style, [('fontName','Helvetica-Bold'),('fontSize',fontSize),('textColor','black'),('splitLongWords',1)]) self.elements += [_Paragraph(heading_text, style), _Spacer(0, sep*_cm)]