Python reportlab.lib.colors.HexColor() Examples
The following are 13
code examples of reportlab.lib.colors.HexColor().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
reportlab.lib.colors
, or try the search function
.
Example #1
Source File: report.py From flask-restful-example with MIT License | 10 votes |
def table_model(): """ 添加表格 :return: """ template_path = current_app.config.get("REPORT_TEMPLATES") image_path = os.path.join(template_path, 'test.jpg') new_img = Image(image_path, width=300, height=300) base = [ [new_img, ""], ["大类", "小类"], ["WebFramework", "django"], ["", "flask"], ["", "web.py"], ["", "tornado"], ["Office", "xlsxwriter"], ["", "openpyxl"], ["", "xlrd"], ["", "xlwt"], ["", "python-docx"], ["", "docxtpl"], ] style = [ # 设置字体 ('FONTNAME', (0, 0), (-1, -1), 'SimSun'), # 合并单元格 (列,行) ('SPAN', (0, 0), (1, 0)), ('SPAN', (0, 2), (0, 5)), ('SPAN', (0, 6), (0, 11)), # 单元格背景 ('BACKGROUND', (0, 1), (1, 1), HexColor('#548DD4')), # 字体颜色 ('TEXTCOLOR', (0, 1), (1, 1), colors.white), # 对齐设置 ('VALIGN', (0, 0), (-1, -1), 'MIDDLE'), ('ALIGN', (0, 0), (-1, -1), 'CENTER'), # 单元格框线 ('GRID', (0, 0), (-1, -1), 0.5, colors.grey), ('BOX', (0, 0), (-1, -1), 0.5, colors.black), ] component_table = Table(base, style=style) return component_table
Example #2
Source File: linecharts.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def demo(self): """Shows basic use of a line chart.""" drawing = Drawing(200, 100) data = [ (13, 5, 20, 22, 37, 45, 19, 4), (14, 10, 21, 28, 38, 46, 25, 5) ] lc = SampleHorizontalLineChart() lc.x = 20 lc.y = 10 lc.height = 85 lc.width = 170 lc.data = data lc.strokeColor = colors.white lc.fillColor = colors.HexColor(0xCCCCCC) drawing.add(lc) return drawing
Example #3
Source File: test_basic.py From svglib with GNU Lesser General Public License v3.0 | 6 votes |
def test_0(self): "Test color attribute conversion." mapping = ( ("red", colors.red), ("#ff0000", colors.red), ("#ff000055", colors.Color(1, 0, 0, 1/3.0)), ("#f00", colors.red), ("#f00f", colors.red), ("rgb(100%,50%,10%)", colors.Color(1, 1.0/255 * 128, 1.0/255 * 26, 1)), ("rgb(255, 0, 0)", colors.red), ("rgba(255, 255, 128, .5)", colors.Color(1, 1, 1.0/255 * 128, .5)), ("fuchsia", colors.Color(1, 0, 1, 1)), ("slategrey", colors.HexColor(0x708090)), ("transparent", colors.Color(0, 0, 0, 0)), ("whatever", None), ) ac = svglib.Svg2RlgAttributeConverter() failed = _testit(ac.convertColor, mapping) assert len(failed) == 0
Example #4
Source File: linecharts.py From stdm with GNU General Public License v2.0 | 6 votes |
def demo(self): """Shows basic use of a line chart.""" drawing = Drawing(200, 100) data = [ (13, 5, 20, 22, 37, 45, 19, 4), (14, 10, 21, 28, 38, 46, 25, 5) ] lc = SampleHorizontalLineChart() lc.x = 20 lc.y = 10 lc.height = 85 lc.width = 170 lc.data = data lc.strokeColor = colors.white lc.fillColor = colors.HexColor(0xCCCCCC) drawing.add(lc) return drawing
Example #5
Source File: linecharts.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def sample1a(): drawing = Drawing(400, 200) data = [ (13, 5, 20, 22, 37, 45, 19, 4), (5, 20, 46, 38, 23, 21, 6, 14) ] lc = SampleHorizontalLineChart() lc.x = 50 lc.y = 50 lc.height = 125 lc.width = 300 lc.data = data lc.joinedLines = 1 lc.strokeColor = colors.white lc.fillColor = colors.HexColor(0xCCCCCC) lc.lines.symbol = makeMarker('FilledDiamond') lc.lineLabelFormat = '%2.0f' catNames = 'Jan Feb Mar Apr May Jun Jul Aug'.split(' ') lc.categoryAxis.categoryNames = catNames lc.categoryAxis.labels.boxAnchor = 'n' lc.valueAxis.valueMin = 0 lc.valueAxis.valueMax = 60 lc.valueAxis.valueStep = 15 drawing.add(lc) return drawing
Example #6
Source File: danferetrato.py From PySIGNFe with GNU Lesser General Public License v2.1 | 5 votes |
def __init__(self): super(CalculoImpostoRetrato, self).__init__() self.elements = [] self.inclui_descritivo(nome='clc', titulo=u'CÁLCULO DO IMPOSTO', top=0*cm, left=0*cm, width=19.4*cm) # 1ª linha lbl, fld = self.inclui_campo_numerico(nome='clc_bip', titulo=u'BASE DE CÁLCULO DO ICMS', conteudo=u'NFe.infNFe.total.ICMSTot.vBC.formato_danfe', top=0.42*cm, left=0*cm, width=3.88*cm) lbl, fld = self.inclui_campo_numerico(nome='clc_vip', titulo=u'VALOR DO ICMS', conteudo=u'NFe.infNFe.total.ICMSTot.vICMS.formato_danfe', top=0.42*cm, left=3.88*cm, width=3.88*cm) lbl, fld = self.inclui_campo_numerico(nome='clc_bis', titulo=u'BASE DE CÁLCULO DO ICMS ST', conteudo=u'NFe.infNFe.total.ICMSTot.vBCST.formato_danfe', top=0.42*cm, left=7.76*cm, width=3.88*cm) lbl, fld = self.inclui_campo_numerico(nome='clc_vis', titulo=u'VALOR DO ICMS ST', conteudo=u'NFe.infNFe.total.ICMSTot.vST.formato_danfe', top=0.42*cm, left=11.64*cm, width=3.88*cm) lbl, fld = self.inclui_campo_numerico(nome='clc_vpn', titulo=u'VALOR TOTAL DOS PRODUTOS', conteudo=u'NFe.infNFe.total.ICMSTot.vProd.formato_danfe', top=0.42*cm, left=15.52*cm, width=3.88*cm, margem_direita=True) #fld.style = DADO_CAMPO_NUMERICO_NEGRITO # 2ª linha lbl, fld = self.inclui_campo_numerico(nome='clc_vfrete', titulo=u'VALOR DO FRETE', conteudo=u'NFe.infNFe.total.ICMSTot.vFrete.formato_danfe', top=1.12*cm, left=0*cm, width=3.104*cm) lbl, fld = self.inclui_campo_numerico(nome='clc_vseguro', titulo=u'VALOR DO SEGURO', conteudo=u'NFe.infNFe.total.ICMSTot.vSeg.formato_danfe', top=1.12*cm, left=3.104*cm, width=3.104*cm) lbl, fld = self.inclui_campo_numerico(nome='clc_vdesconto', titulo=u'DESCONTO', conteudo=u'NFe.infNFe.total.ICMSTot.vDesc.formato_danfe', top=1.12*cm, left=6.208*cm, width=3.104*cm) lbl, fld = self.inclui_campo_numerico(nome='clc_voutras', titulo=u'OUTRAS DESPESAS ACESSÓRIAS', conteudo=u'NFe.infNFe.total.ICMSTot.vOutro.formato_danfe', top=1.12*cm, left=9.312*cm, width=3.104*cm) lbl, fld = self.inclui_campo_numerico(nome='clc_vipi', titulo=u'VALOR TOTAL DO IPI', conteudo=u'NFe.infNFe.total.ICMSTot.vIPI.formato_danfe', top=1.12*cm, left=12.416*cm, width=3.104*cm) # Fundo destacado do total da NF self.elements.append(Rect(top=1.12*cm, left=15.52*cm, height=0.7*cm, width=3.88*cm, stroke=False, stroke_width=0, fill=True, fill_color=HexColor(0xd0d0d0))) lbl, fld = self.inclui_campo_numerico(nome='clc_vnf', titulo=u'VALOR TOTAL DA NOTA', conteudo=u'NFe.infNFe.total.ICMSTot.vNF.formato_danfe', top=1.12*cm, left=15.52*cm, width=3.88*cm, margem_direita=True) lbl.style = DESCRITIVO_CAMPO_NEGRITO fld.style = DADO_CAMPO_NUMERICO_NEGRITO self.height = 1.82*cm
Example #7
Source File: danfepaisagem.py From PySIGNFe with GNU Lesser General Public License v2.1 | 5 votes |
def __init__(self): super(CalculoImpostoPaisagem, self).__init__() self.elements = [] self.inclui_descritivo(nome='clc', titulo=u'CÁLCULO DO IMPOSTO', top=0*cm, left=2.6*cm, width=26.8*cm, height=0.4*cm) # 1ª linha lbl, fld = self.inclui_campo_numerico(nome='clc_bip', titulo=u'BASE DE CÁLCULO DO ICMS', conteudo=u'NFe.infNFe.total.ICMSTot.vBC.formato_danfe', top=0.4*cm, left=2.6*cm, width=5.4*cm, height=0.6*cm) fld.padding_top = 0.18*cm lbl, fld = self.inclui_campo_numerico(nome='clc_vip', titulo=u'VALOR DO ICMS', conteudo=u'NFe.infNFe.total.ICMSTot.vICMS.formato_danfe', top=0.4*cm, left=8*cm, width=5.4*cm, height=0.6*cm) fld.padding_top = 0.18*cm lbl, fld = self.inclui_campo_numerico(nome='clc_bis', titulo=u'BASE DE CÁLCULO DO ICMS ST', conteudo=u'NFe.infNFe.total.ICMSTot.vBCST.formato_danfe', top=0.4*cm, left=13.4*cm, width=5.4*cm, height=0.6*cm) fld.padding_top = 0.18*cm lbl, fld = self.inclui_campo_numerico(nome='clc_vis', titulo=u'VALOR DO ICMS ST', conteudo=u'NFe.infNFe.total.ICMSTot.vST.formato_danfe', top=0.4*cm, left=18.8*cm, width=5.4*cm, height=0.6*cm) fld.padding_top = 0.18*cm lbl, fld = self.inclui_campo_numerico(nome='clc_vpn', titulo=u'VALOR TOTAL DOS PRODUTOS', conteudo=u'NFe.infNFe.total.ICMSTot.vProd.formato_danfe', top=0.4*cm, left=24.2*cm, width=5.2*cm, height=0.6*cm, margem_direita=True) fld.padding_top = 0.18*cm #fld.style = DADO_CAMPO_NUMERICO_NEGRITO # 2ª linha lbl, fld = self.inclui_campo_numerico(nome='clc_vfrete', titulo=u'VALOR DO FRETE', conteudo=u'NFe.infNFe.total.ICMSTot.vFrete.formato_danfe', top=1*cm, left=2.6*cm, width=4.4*cm, height=0.6*cm) fld.padding_top = 0.18*cm lbl, fld = self.inclui_campo_numerico(nome='clc_vseguro', titulo=u'VALOR DO SEGURO', conteudo=u'NFe.infNFe.total.ICMSTot.vSeg.formato_danfe', top=1*cm, left=7*cm, width=4.4*cm, height=0.6*cm) fld.padding_top = 0.18*cm lbl, fld = self.inclui_campo_numerico(nome='clc_vdesconto', titulo=u'DESCONTO', conteudo=u'NFe.infNFe.total.ICMSTot.vDesc.formato_danfe', top=1*cm, left=11.4*cm, width=4.4*cm, height=0.6*cm) fld.padding_top = 0.18*cm lbl, fld = self.inclui_campo_numerico(nome='clc_voutras', titulo=u'OUTRAS DESPESAS ACESSÓRIAS', conteudo=u'NFe.infNFe.total.ICMSTot.vOutro.formato_danfe', top=1*cm, left=15.8*cm, width=4.4*cm, height=0.6*cm) fld.padding_top = 0.18*cm lbl, fld = self.inclui_campo_numerico(nome='clc_vipi', titulo=u'VALOR TOTAL DO IPI', conteudo=u'NFe.infNFe.total.ICMSTot.vIPI.formato_danfe', top=1*cm, left=20.2*cm, width=4.4*cm, height=0.6*cm) fld.padding_top = 0.18*cm # Fundo destacado do total da NF self.elements.append(Rect(top=1*cm, left=24.6*cm, height=0.6*cm, width=4.8*cm, stroke=False, stroke_width=0, fill=True, fill_color=HexColor(0xd0d0d0))) lbl, fld = self.inclui_campo_numerico(nome='clc_vnf', titulo=u'VALOR TOTAL DA NOTA', conteudo=u'NFe.infNFe.total.ICMSTot.vNF.formato_danfe', top=1*cm, left=24.6*cm, width=4.8*cm, height=0.6*cm, margem_direita=True) fld.padding_top = 0.18*cm lbl.style = DESCRITIVO_CAMPO_NEGRITO fld.style = DADO_CAMPO_NUMERICO_NEGRITO self.height = 1.6*cm
Example #8
Source File: svglib.py From svglib with GNU Lesser General Public License v3.0 | 5 votes |
def convertColor(self, svgAttr): "Convert string to a RL color object." # This needs also to lookup values like "url(#SomeName)"... text = svgAttr if not text or text == "none": return None if text == "currentColor": return "currentColor" if len(text) in (7, 9) and text[0] == '#': color = colors.HexColor(text, hasAlpha=len(text) == 9) elif len(text) == 4 and text[0] == '#': color = colors.HexColor('#' + 2*text[1] + 2*text[2] + 2*text[3]) elif len(text) == 5 and text[0] == '#': color = colors.HexColor( '#' + 2*text[1] + 2*text[2] + 2*text[3] + 2*text[4], hasAlpha=True ) else: # Should handle pcmyk|cmyk|rgb|hsl values (including 'a' for alpha) color = colors.cssParse(text) if color is None: # Test if text is a predefined color constant try: color = getattr(colors, text) except AttributeError: pass if color is None: logger.warning("Can't handle color: %s" % text) else: return self.color_converter(color)
Example #9
Source File: linecharts.py From stdm with GNU General Public License v2.0 | 5 votes |
def sample1a(): drawing = Drawing(400, 200) data = [ (13, 5, 20, 22, 37, 45, 19, 4), (5, 20, 46, 38, 23, 21, 6, 14) ] lc = SampleHorizontalLineChart() lc.x = 50 lc.y = 50 lc.height = 125 lc.width = 300 lc.data = data lc.joinedLines = 1 lc.strokeColor = colors.white lc.fillColor = colors.HexColor(0xCCCCCC) lc.lines.symbol = makeMarker('FilledDiamond') lc.lineLabelFormat = '%2.0f' catNames = 'Jan Feb Mar Apr May Jun Jul Aug'.split(' ') lc.categoryAxis.categoryNames = catNames lc.categoryAxis.labels.boxAnchor = 'n' lc.valueAxis.valueMin = 0 lc.valueAxis.valueMax = 60 lc.valueAxis.valueStep = 15 drawing.add(lc) return drawing
Example #10
Source File: builder.py From tia with BSD 3-Clause "New" or "Revised" License | 5 votes |
def new_title_bar(self, title, color=None): """Return an array of Pdf Objects which constitute a Header""" # Build a title bar for top of page w, t, c = '100%', 2, color or HexColor('#404040') title = '<b>{0}</b>'.format(title) if 'TitleBar' not in self.stylesheet: tb = ParagraphStyle('TitleBar', parent=self.stylesheet['Normal'], fontName='Helvetica-Bold', fontSize=10, leading=10, alignment=TA_CENTER) self.stylesheet.add(tb) return [HRFlowable(width=w, thickness=t, color=c, spaceAfter=2, vAlign='MIDDLE', lineCap='square'), self.new_paragraph(title, 'TitleBar'), HRFlowable(width=w, thickness=t, color=c, spaceBefore=2, vAlign='MIDDLE', lineCap='square')]
Example #11
Source File: table.py From tia with BSD 3-Clause "New" or "Revised" License | 5 votes |
def heat_map(self, cmap='RdYlGn', vmin=None, vmax=None, font_cmap=None): if cmap is None: carr = ['#d7191c', '#fdae61', '#ffffff', '#a6d96a', '#1a9641'] cmap = LinearSegmentedColormap.from_list('default-heatmap', carr) if isinstance(cmap, basestring): cmap = get_cmap(cmap) if isinstance(font_cmap, basestring): font_cmap = get_cmap(font_cmap) vals = self.actual_values.astype(float) if vmin is None: vmin = vals.min().min() if vmax is None: vmax = vals.max().max() norm = (vals - vmin) / (vmax - vmin) for ridx in range(self.nrows): for cidx in range(self.ncols): v = norm.iloc[ridx, cidx] if np.isnan(v): continue color = cmap(v) hex = rgb2hex(color) styles = {'BACKGROUND': HexColor(hex)} if font_cmap is not None: styles['TEXTCOLOR'] = HexColor(rgb2hex(font_cmap(v))) self.iloc[ridx, cidx].apply_styles(styles) return self
Example #12
Source File: sample.py From tia with BSD 3-Clause "New" or "Revised" License | 5 votes |
def sample1(): pdf_path = os.path.join(tempfile.gettempdir(), 'pdf_test_4.pdf') cols = ['pct', 'int', 'k', 'M', '$', 'date'] df = pd.DataFrame(np.random.randn(40, len(cols)), columns=cols) df['int'] = 10000. * df['pct'] df['k'] = 50000. * df['pct'] df['M'] = 5000000. * df['pct'] df['$'] = 500000. * df['pct'] df['date'] = pd.date_range('1/1/2010', periods=len(df.index)) df['id'] = 'ID-1' # Make this a multi-index frame df2 = df.copy() df2['id'] = 'ID-2' df = df.set_index('id', append=True).unstack().reorder_levels([1, 0], axis=1) df2 = df2.set_index('id', append=True).unstack().reorder_levels([1, 0], axis=1) aggdf = pd.concat([df, df2], axis=1) # Start building the pdf pdf = PdfBuilder(pdf_path) # build the templates to use gt = GridTemplate('T1', 100, 100) gt.define_frames({ 'HEADER': gt[:10, :], 'TBL': gt[10:], }) gt.register(pdf) # Build the pdf tables to marry with the template def make_builder(hdr=1, idx=1, cstyles=None): tf = TableFormatter(aggdf, inc_header=hdr, inc_index=idx) tf.apply_default_style(index_override={'BACKGROUND': colors.beige}) tf.header.detect_colspans() tf.header.apply_style('ALIGN', 'CENTER') tf.cells.match_any_labels('pct').apply_number_format(PercentFormatter) tf.cells.match_any_labels('k').apply_number_format(ThousandsFormatter) tf.cells.match_any_labels('int').apply_number_format(IntFormatter) tf.cells.match_any_labels('M').apply_number_format(MillionsFormatter) tf.cells.match_any_labels('$').apply_number_format(DollarCentsFormatter) def red_weekend(x): if x.dayofweek in (5, 6): return dict(BACKGROUND=colors.HexColor("#800000"), TEXTCOLOR=colors.white) tf.cells.match_any_labels('date').apply(format=fmt.Y_m_dFormatter, cstyles=red_weekend) return tf # Build PDF for hon, ion in list(itertools.product([True, False], repeat=2)): offon = lambda v: v and 'On' or 'Off' for cstyle in [None, ConditionalRedBlack]: hdr = 'Index=%s Header=%s Color=%s' % (offon(ion), offon(hon), offon(cstyle is not None)) data = { 'HEADER': Paragraph(hdr, getSampleStyleSheet()['Normal']), 'TBL': make_builder(hon, ion, cstyle).build(), } pdf.build_page('T1', data) pdf.save() print pdf_path
Example #13
Source File: pdf_rpts.py From tia with BSD 3-Clause "New" or "Revised" License | 5 votes |
def title_bar(self, title): # Build a title bar for top of page w, t, c = '100%', 2, HexColor('#404040') title = '<b>{0}</b>'.format(title) return [HRFlowable(width=w, thickness=t, color=c, spaceAfter=2, vAlign='MIDDLE', lineCap='square'), self.pdf.new_paragraph(title, 'TitleBar'), HRFlowable(width=w, thickness=t, color=c, spaceBefore=2, vAlign='MIDDLE', lineCap='square')]