class band_page_header(ReportBand): height = 2.0 * cm elements = [ SystemField(expression='%(report_title)s', top=0.5 * cm, left=0, width=BAND_WIDTH, style={ 'fontName': 'Helvetica-Bold', 'fontSize': 14, 'alignment': TA_CENTER }), Label(text=_('User ID'), top=1.5 * cm, left=0.5 * cm), Label(text=_('Real Name'), top=1.5 * cm, left=6 * cm), Label(text=_('Last access'), top=1.5 * cm, left=15 * cm), SystemField(expression=_('Page %(page_number)d of %(page_count)d'), top=0.1 * cm, width=BAND_WIDTH, style={'alignment': TA_RIGHT}), Image(filename=stock.getStockImagePath(stock.LOGO), left=0.1 * cm, top=0.0 * cm, width=2 * cm, height=2 * cm), ] borders = {'bottom': True}
class band_page_header(ReportBand): height = 1.3 * cm elements = [ Image( top=0.1 * cm, left=0, width=2.0 * cm, height=2.0 * cm, filename=os.path.join( RUTA, '../PTACOCOMET/static/SysWeb/ACOCOMET-rpthumbnail.PNG'), ), SystemField(expression='%(report_title)s', top=0.1 * cm, left=0, width=BAND_WIDTH, style={ 'fontName': 'Helvetica-Bold', 'fontSize': 14, 'alignment': TA_CENTER }), Label(text='Cooperatíva Financiera Única', top=0.8 * cm, left=0, width=BAND_WIDTH, style={ 'fontName': 'Helvetica-Bold', 'fontSize': 10, 'alignment': TA_CENTER }), ] borders = {'bottom': True}
class band_page_header(ReportBand): height = 1.5 * cm elements = [ Image(left=0.4 * cm, top=0, width=4 * cm, height=5.12 * cm, filename=os.path.join(RUTA_PROYECTO, '../control/escom.gif')), SystemField(expression='%(report_title)s', top=0.1 * cm, left=0, width=BAND_WIDTH, style={ 'fontName': 'Helvetica-Bold', 'fontSize': 21, 'alignment': TA_CENTER }), Label(text="Escuela Superior de Cómputo", top=0.8 * cm, left=0, width=BAND_WIDTH, style={ 'fontName': 'Helvetica-Bold', 'fontSize': 16, 'alignment': TA_CENTER }), SystemField(expression=u'Pagina %(page_number)d de %(page_count)d', top=0.1 * cm, width=BAND_WIDTH, style={'alignment': TA_RIGHT}), ] borders = {'bottom': Line(stroke_width=5)}
class band_page_header(ReportBand): height = 1.3 * cm elements = [ Image(left=1 * cm, top=0.1 * cm, right=10 * cm, bottom=0.5 * cm, filename=os.path.join( cur_dir, '../main/static/images/intouchlogo.png')), SystemField(expression='%(report_title)s', top=0.1 * cm, left=0, width=BAND_WIDTH, style={ 'fontName': 'Calibri', 'fontSize': 14, 'alignment': TA_CENTER }), # SystemField(expression=u'Page %(page_number)d of %(page_count)d', top=0.1*cm, # width=BAND_WIDTH, style={'alignment': TA_RIGHT}), # Label(text="Name", top=0.8*cm, left=0.5*cm), # Label(text="Age", top=0.8*cm, left=5*cm), # Label(text="Weight", top=0.8*cm, left=6.5*cm), ]
class Header(ReportBand): height = 3.4 * cm borders = {'bottom': False} elements = [ SystemField(expression='%(report_title)s', top=1.9 * cm, left=0, width=BAND_WIDTH, style={ 'fontName': 'Helvetica', 'fontSize': 12, 'alignment': TA_CENTER }), SystemField(expression='Page %(page_number)d of %(page_count)d', top=0.7 * cm, width=BAND_WIDTH, style={ 'fontName': 'Helvetica', 'fontSize': 8, 'alignment': TA_RIGHT }), SystemField(expression='Printed in %(now:%d/%m/%Y %H:%M)s ', top=0.2 * cm, width=BAND_WIDTH, style={ 'fontName': 'Helvetica', 'fontSize': 8, 'alignment': TA_RIGHT }), ] if clinic_info: elements.append( Label(text="%s" % organization, top=0.9 * cm, left=0, width=BAND_WIDTH, style={ 'fontName': 'Helvetica-Bold', 'fontSize': 14, 'alignment': TA_CENTER })) if len(organization.photo): elements.append( Image(left=0.1 * cm, top=0.1 * cm, filename=imagefile)) if header_line: elements.append( Line(left=0.0 * cm, right=19 * cm, top=3.3 * cm, bottom=3.3 * cm))
class band_summary(ReportBand): height = 0.5 * cm elements = [ Label(text=u"每日访问量、各服务器访问状况 、客户端分布状况:", top=2.5 * cm, left=0, width=BAND_WIDTH), Image(left=0 * cm, top=0.3 * cm, width=25 * cm, filename=os.path.join(cur_dir, '../charts/output/DateNum_wave.jpg')), #Image(left=0*cm, top=6.6*cm, width=19*cm, filename=os.path.join(cur_dir, '../charts/output/DateNum_hist.jpg')), Label(text=u"用户访问时序流图: Not Implemented! ", top=14 * cm, left=0 * cm, width=BAND_WIDTH), Image(left=0 * cm, top=11.6 * cm, width=25 * cm, filename=os.path.join(cur_dir, '../charts/output/DateNum_hist.jpg')), ]
class band_page_header(ReportBand): height = 1.5*cm elements = [ Image(left=0.4*cm, top=0, width=4*cm, height=5.12*cm, filename= os.path.join(RUTA_PROYECTO,'../Alumno/escom.gif')), SystemField(expression='%(report_title)s', top=0.1*cm, left=0, width=BAND_WIDTH, style={'fontName': 'Helvetica-Bold', 'fontSize': 21, 'alignment': TA_CENTER}), Label(text="Escuela Superior de Cómputo", top=0.8*cm, left=0,width=BAND_WIDTH, style={'fontName': 'Helvetica-Bold', 'fontSize': 16, 'alignment': TA_CENTER}), Label(text="Clave", top=6.6*cm, left=0.2*cm, width=1.5*cm, style={'fontName': 'Helvetica-Bold', 'fontSize':8}), Label(text="Materia", top=6.6*cm, left=2*cm, width=1.5*cm, style={'fontName': 'Helvetica-Bold', 'fontSize':8}), Label(text="Periodo", top=6.6*cm, left=6.0*cm, width=1.5*cm, style={'fontName': 'Helvetica-Bold', 'fontSize':8}), Label(text="Evaluación", top=6.6*cm, left=8.0*cm, width=1.5*cm, style={'fontName': 'Helvetica-Bold', 'fontSize':8}), Label(text="Calificación", top=6.6*cm, left=10*cm, width=1.5*cm, style={'fontName': 'Helvetica-Bold', 'fontSize':8}), ]
class band_page_header(ReportBand): height = 1.5*cm elements = [ Image(left=0.4*cm, top=0, width=4*cm, height=5.12*cm, filename= os.path.join(RUTA_PROYECTO,'../media/img/escom.gif')), SystemField(expression='%(report_title)s', top=0.1*cm, left=0, width=BAND_WIDTH, style={'fontName': 'Helvetica-Bold', 'fontSize': 21, 'alignment': TA_CENTER}), Label(text="Escuela Superior de Cómputo", top=0.8*cm, left=0,width=BAND_WIDTH, style={'fontName': 'Helvetica-Bold', 'fontSize': 16, 'alignment': TA_CENTER}), Label(text="Nombre", top=7*cm, left=3*cm, width=1.5*cm, style={'fontName': 'Helvetica-Bold', 'fontSize':8 ,'borderWidth': 1, 'borderColor': navy, 'borderPadding': 1, 'borderRadius': 2}), Label(text="Boleta", top=7*cm, left=0.5*cm,width=1.5*cm,style={'fontName': 'Helvetica-Bold', 'fontSize':8,'borderWidth': 1, 'borderColor': navy, 'borderPadding': 1, 'borderRadius': 2}), Label(text="Calificación", top=7*cm, left=8*cm,width=1.5*cm,style={'fontName': 'Helvetica-Bold', 'fontSize':8,'borderWidth': 1, 'borderColor': navy, 'borderPadding': 1, 'borderRadius': 2}), SystemField(expression=u'Pagina %(page_number)d de %(page_count)d', top=0.1*cm, width=BAND_WIDTH, style={'alignment': TA_RIGHT}), ] borders = {'bottom': Line(stroke_width=5)}
class band_page_header(ReportBand): height = 1.5 * cm elements = [ Image(left=0.4 * cm, top=0, width=4 * cm, height=5.12 * cm, filename=os.path.join(RUTA_PROYECTO, '../Alumno/escom.gif')), SystemField(expression='%(report_title)s', top=0.1 * cm, left=0, width=BAND_WIDTH, style={ 'fontName': 'Helvetica-Bold', 'fontSize': 21, 'alignment': TA_CENTER }), Label(text="Escuela Superior de Cómputo", top=0.8 * cm, left=0, width=BAND_WIDTH, style={ 'fontName': 'Helvetica-Bold', 'fontSize': 16, 'alignment': TA_CENTER }), Label( text= "SUBDIRECCIÓN DE SERVICIOS EDUCATIVOS E INTEGRACIÓN SOCIAL DEPARTAMENTO DE GESTIÓN ESCOLAR", top=2.5 * cm, left=0, width=BAND_WIDTH, style={ 'fontName': 'Helvetica-Bold', 'fontSize': 8, 'alignment': TA_CENTER }), ]
def dados_emitente_logo_vertical(self, arquivo_imagem): elements = [] # # Dados do remetente # img = Image() img.top = 0.1*cm img.left = 0.1*cm # # Tamanhos equilaventes, em centímetros, a 2,5 x 3,8, em 128 dpi # estranhamente, colocar os tamanhos em centímetros encolhe a imagem # img.width = 116 img.height = 191 img.filename = arquivo_imagem elements.append(img) fld = Campo() fld.nome = 'fld_rem_nome' fld.attribute_name = u'NFe.infNFe.emit.xNome.valor' fld.top = 0.2*cm fld.left = 2.5*cm fld.width = 5.5*cm fld.height = 1.5*cm fld.style = EMIT_NOME elements.append(fld) fld = Campo() fld.nome = 'fld_rem_endereco_1' fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_1' fld.top = 1.4*cm fld.left = 2.5*cm fld.width = 5.5*cm fld.height = 0.7*cm fld.style = EMIT_DADOS elements.append(fld) fld = Campo() fld.nome = 'fld_rem_endereco_2' fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_2' fld.top = 2.2*cm fld.left = 2.5*cm fld.width = 5.5*cm fld.height = 0.7*cm fld.style = EMIT_DADOS elements.append(fld) fld = Campo() fld.nome = 'fld_rem_endereco_3' fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_3' fld.top = 3*cm fld.left = 2.5*cm fld.width = 5.5*cm fld.height = 0.45*cm fld.style = EMIT_DADOS elements.append(fld) fld = Campo() fld.nome = 'fld_rem_endereco_4' fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_4' fld.top = 3.4*cm fld.left = 2.5*cm fld.width = 5.5*cm fld.height = 0.45*cm fld.style = EMIT_DADOS elements.append(fld) return elements
def dados_emitente_logo_horizontal(self, arquivo_imagem): elements = [] # # Dados do remetente # img = Image() img.top = 0.1*cm img.left = 0.1*cm # # Tamanhos equilaventes, em centímetros, a 3,8 x 2,5, em 128 dpi # estranhamente, colocar os tamanhos em centímetros encolhe a imagem # img.width = 191 img.height = 116 img.filename = arquivo_imagem elements.append(img) fld = Campo() fld.nome = 'fld_rem_nome' fld.attribute_name = u'NFe.infNFe.emit.xNome.valor' fld.top = 0.2*cm fld.left = 4*cm fld.width = 4*cm fld.height = 1.4*cm fld.style = EMIT_NOME elements.append(fld) fld = Campo() fld.nome = 'fld_rem_endereco_3' fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_3' fld.top = 3.5*cm fld.left = 2*cm fld.width = 4*cm fld.height = 0.45*cm fld.style = EMIT_DADOS elements.append(fld) fld = Campo() fld.nome = 'fld_rem_endereco_4' fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_4' fld.top = 2.05*cm fld.left = 4*cm fld.width = 4*cm fld.height = 0.45*cm fld.style = EMIT_DADOS elements.append(fld) fld = Campo() fld.nome = 'fld_rem_endereco_1' fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_1' fld.top = 2.5*cm fld.left = 0*cm fld.width = 8*cm fld.height = 0.7*cm fld.style = EMIT_DADOS elements.append(fld) fld = Campo() fld.nome = 'fld_rem_endereco_2' fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_2' fld.top = 3.2*cm fld.left = 0*cm fld.width = 8*cm fld.height = 0.7*cm fld.style = EMIT_DADOS elements.append(fld) return elements
class band_detail(ReportBand): elements = [ # LOGO Image(left=0 * cm, top=0 * cm, width=12 * cm, height=6 * cm, style={'alignment': TA_LEFT}, filename=os.path.join(cur_dir, 'static/kasa/img/logo6.jpg')), # TVRTKA ObjectValue(attribute_name='operater', get_value=lambda x: '{x.operater.tvrtka}'.format(x=x), width=17 * cm, top=0.3 * cm, style={'alignment': TA_RIGHT}), ObjectValue( attribute_name='operater', get_value=lambda x: '{x.operater.tvrtka.adresa}'.format(x=x), width=17 * cm, top=0.8 * cm, style={'alignment': TA_RIGHT}), ObjectValue( attribute_name='operater', get_value=lambda x: 'OIB:{x.operater.tvrtka.oib}'.format(x=x), width=17 * cm, top=1.3 * cm, style={'alignment': TA_RIGHT}), ObjectValue(attribute_name='operater', get_value=lambda x: 'IBAN: {x.operater.tvrtka.iban}'. format(x=x) if x.operater.tvrtka.iban else "", width=17 * cm, top=1.8 * cm, style={'alignment': TA_RIGHT}), # KUPAC ObjectValue(attribute_name='kupac', top=3.2 * cm), ObjectValue(attribute_name='kupac', get_value=lambda x: '{x.kupac.adresa}'.format(x=x), top=3.7 * cm), ObjectValue(attribute_name='kupac', get_value=lambda x: 'OIB: {x.kupac.oib}'.format(x=x), top=4.2 * cm), # Label(text='OIB: 48531576841', top=5.1*cm), ObjectValue(attribute_name='vrijeme_izdavanja', get_value=lambda x: x.vrijeme_izdavanja.strftime( 'Datum: %d/%m/%Y'), top=4.8 * cm, width=5 * cm, left=12.5 * cm, style={'alignment': TA_LEFT}), ObjectValue(attribute_name='vrijeme_izdavanja', get_value=lambda x: x.vrijeme_izdavanja.strftime( 'Vrijeme: %H:%M'), top=5.3 * cm, width=5 * cm, left=12.5 * cm, style={'alignment': TA_LEFT}), ObjectValue(get_value=lambda x: 'Vrsta plaćanja: {x.opis_nacina_placanja}'.format(x=x), top=5.8 * cm, width=5 * cm, left=12.5 * cm, style={'alignment': TA_LEFT}), ObjectValue(get_value=lambda x: 'Račun {x.oznaka}'.format(x=x), top=5.8 * cm, width=17 * cm, style={ 'alignment': TA_LEFT, 'fontSize': 12 }), Label(text='R.br.', top=7 * cm, style={ 'fontName': 'Helvetica-Bold', 'fontSize': 10 }), Label(text='Naziv', top=7 * cm, left=1.5 * cm, style={ 'fontName': 'Helvetica-Bold', 'fontSize': 10 }), Label(text='Jed.cijena', top=7 * cm, left=7 * cm, style={ 'fontName': 'Helvetica-Bold', 'fontSize': 10 }), Label(text='Količina', top=7 * cm, left=10 * cm, style={ 'fontName': 'Segoe UI Bold', 'fontSize': 10 }), Label(text='Ukupna cijena', top=7 * cm, width=17 * cm, style={ 'alignment': TA_RIGHT, 'fontName': 'Helvetica-Bold', 'fontSize': 10 }), Line( top=25 * cm, left=0.0 * cm, right=17 * cm, bottom=25 * cm, stroke_width=0.8, ), Label(text='Fiskali d.o.o.', top=25.2 * cm, width=17 * cm, style={ 'alignment': TA_CENTER, 'fontSize': 10 }), Label(text='Telefon: 023 300 201 E-mail: [email protected]', top=25.6 * cm, width=17 * cm, style={ 'alignment': TA_CENTER, 'fontSize': 10 }), ]
class band_begin(ReportBand): height = 20.1 * cm elements = [ # Write the outline for this whole document. Label(text=u"目录", top=0.2 * cm, left=0 * cm, width=BAND_WIDTH, style={ "alignment": TA_CENTER, "fontSize": 14 }), Label( text= u"I: 全局基本概况.............................................................................................................................................................1", top=1.0 * cm, left=0.5 * cm, width=BAND_WIDTH, style={"fontName": 'wqy'}), Label( text= u"II: 服务器访问状况........................................................................................................................................................2", top=1.6 * cm, left=0.5 * cm, width=BAND_WIDTH), Label( text= u"III: 用户分布状况..........................................................................................................................................................3", top=2.2 * cm, left=0.5 * cm, width=BAND_WIDTH), Label( text= u"VI: 客户端分布状况.......................................................................................................................................................4", top=2.8 * cm, left=0.5 * cm, width=BAND_WIDTH), Label( text= u"V: 用户-服务器访问流分析............................................................................................................................................5", top=3.4 * cm, left=0.5 * cm, width=BAND_WIDTH), # Draw the User Dist in Japan. Image(left=0 * cm, top=4.0 * cm, filename=os.path.join( cur_dir, '../charts/output/distribution_of_users_in_japan.jpg')), # Line Separator. Line(left=0 * cm, top=4.1 * cm, bottom=4.1 * cm, right=19 * cm), # Data structure Label(text="Total visit", top=4.2 * cm, left=0), Label(text="Test visit", top=4.2 * cm, left=3 * cm), Label(text="Real visit", top=4.2 * cm, left=6 * cm), # Write the Global Data. Label(text=global_stat[0], top=4.7 * cm, left=0), Label(text=global_stat[1], top=4.7 * cm, left=3 * cm), Label(text=global_stat[2], top=4.7 * cm, left=6 * cm), ] borders = {'bottom': True}
class band_page_header(ReportBand): height = 0.5 * cm elements = [ Image(left=0.5 * cm, top=0.1 * cm, width=4 * cm, height=5.12 * cm, filename=os.path.join( cur_dir, '../main/static/images/intouchlogo.png')), Label(text='<b>intouch</b>', top=0.8 * cm, left=2.8 * cm, width=BAND_WIDTH, style={ 'alignment': TA_LEFT, 'fontName': 'Candara-Bold', 'fontSize': 18 }), Label(text='<b>COMMUNICATIONS</b>', top=1.5 * cm, left=2.8 * cm, width=BAND_WIDTH, style={ 'alignment': TA_LEFT, 'fontName': 'Candara-Bold', 'fontSize': 10 }), Label(text='<b>Intouch Communications Ltd</b>', top=2.2 * cm, width=BAND_WIDTH, left=22.6 * cm, style={ 'fontName': 'Candara-Bold', 'fontSize': 9 }), Label(text='<b>3rd Floor, Prince House, Remera</b>', top=2.6 * cm, width=BAND_WIDTH, left=22.2 * cm, style={ 'fontName': 'Candara-Bold', 'fontSize': 9 }), Label(text='<b>Tel 1: +(250)-788-304-441,</b>', top=3 * cm, width=BAND_WIDTH, left=23.3 * cm, style={ 'fontName': 'Candara-Bold', 'fontSize': 9 }), Label(text='<b>Tel 1: +(250)-785-971-082</b>', top=3.4 * cm, width=BAND_WIDTH, left=23.4 * cm, style={ 'fontName': 'Candara-Bold', 'fontSize': 9 }), Label(text='<b>TIN: 102830733</b>', top=3.8 * cm, width=BAND_WIDTH, left=24.6 * cm, style={ 'fontName': 'Candara-Bold', 'fontSize': 9 }), # Label(text='<b>Intouch Communications Ltd</b>', top=0.2*cm, width=BAND_WIDTH,style={'alignment':TA_RIGHT,'fontName': 'Candara-Bold','fontSize':9}), # Label(text='<b>3rd Floor, Prince House, Remera</b>', top=0.6*cm, width=BAND_WIDTH, style={'alignment':TA_RIGHT, 'fontName': 'Candara-Bold', 'fontSize':9}), # Label(text='<b>Tel 1: +(250)-788-304-441,</b>', top=1*cm, width=BAND_WIDTH, style={'alignment':TA_RIGHT, 'fontName': 'Candara-Bold', 'fontSize':9}), # Label(text='<b>Tel 1: +(250)-785-971-082</b>', top=1.4*cm, width=BAND_WIDTH, style={'alignment':TA_RIGHT, 'fontName': 'Candara-Bold', 'fontSize':9}), # Label(text='<b>TIN: 102830733</b>', top=1.8*cm, width=BAND_WIDTH, style={'alignment':TA_RIGHT, 'fontName': 'Candara-Bold', 'fontSize':9}), # SystemField(expression= '%(report_title)s', top=0.1*cm, left=0, width=BAND_WIDTH, # style={'fontName' : 'Helvetica', 'fontSize' : 10, 'alignment' : TA_CENTER} # ) ]
def __init__(self): super(CabecalhoRetrato, self).__init__() self.elements = [] # Quadro do emitente self.inclui_texto(nome='quadro_emitente', titulo='', texto='', top=0*cm, left=0*cm, width=15.4*cm, height=2.3*cm) # # Área central - Dados do DANFE # txt = self.inclui_texto_sem_borda(nome='prefeitura', texto='Prefeitura de Sorocaba', top=0*cm, left=3*cm, width=12.4*cm, height=0.5*cm) txt.style = DESCRITIVO_DANFE txt = self.inclui_texto_sem_borda(nome='secretaria', texto='Secretaria de Finanças', top=0.75*cm, left=3*cm, width=12.4*cm, height=0.5*cm) txt.style = DESCRITIVO_DANFE txt = self.inclui_texto_sem_borda(nome='rps', texto='RECIBO PROVISÓRIO DE SERVIÇOS - RPS', top=1.5*cm, left=3*cm, width=12.4*cm, height=0.5*cm) txt.style = DESCRITIVO_DANFE lbl, fld = self.inclui_campo_numerico(nome='numero_rps', titulo='Número do RPS', conteudo='RPS.numero_formatado', top=0*cm, left=15.4*cm, width=4*cm, height=(2.3/2)*cm, margem_direita=True) lbl, fld = self.inclui_campo(nome='data_rps', titulo='Data de Emissão do RPS', conteudo='RPS.DataEmissaoRPS.valor', top=(2.3/2)*cm, left=15.4*cm, width=4*cm, height=(2.3/2)*cm, margem_direita=True) # # Dados do remetente # img = Image() img.top = 5 img.left = 9 # # Tamanhos equilaventes, em centímetros, a 3,0 x 2,2, em 128 dpi # estranhamente, colocar os tamanhos em centímetros encolhe a imagem # img.width = 133 img.height = 98 img.filename = 'logotipo_prefeitura/sp-sorocaba.jpeg' self.elements.append(img) #txt = self.inclui_texto_sem_borda(nome='danfe_ext', texto=u'DOCUMENTO AUXILIAR DA NOTA FISCAL ELETRÔNICA', top=0.6*cm, left=8*cm, width=3.4*cm, *cm)height=4*cm) #txt.style = DESCRITIVO_DANFE_GERAL #txt = self.inclui_texto_sem_borda(nome='danfe_entrada', texto=u'0 - ENTRADA', top=1.45*cm, left=8.3*cm, width=3.4*cm, height=4*cm) #txt.style = DESCRITIVO_DANFE_ES #txt = self.inclui_texto_sem_borda(nome='danfe_saida', texto=u'1 - SAÍDA', top=1.85*cm, left=8.3*cm, width=3.4*cm, height=4*cm) #txt.style = DESCRITIVO_DANFE_ES #fld = self.inclui_campo_sem_borda(nome='danfe_entrada_saida', conteudo=u'NFe.infNFe.ide.tpNF.valor', top=1.6*cm, left=10.4*cm, width=0.6*cm, height=0.6*cm) #fld.style = DESCRITIVO_NUMERO #fld.borders = {'top': 0.1, 'right': 0.1, 'bottom': 0.1, 'left': 0.1} #fld.padding_bottom = 0.2*cm #fld = self.inclui_campo_sem_borda(nome='danfe_numero', conteudo=u'NFe.numero_formatado', top=2.4*cm, left=8*cm, width=3.4*cm, height=0.5*cm) #fld.style = DESCRITIVO_NUMERO #fld = self.inclui_campo_sem_borda(nome='danfe_serie', conteudo=u'NFe.serie_formatada', top=2.85*cm, left=8*cm, width=3.4*cm, height=0.5*cm) #fld.style = DESCRITIVO_NUMERO #fld = SystemField(name='fld_danfe_folha', expression=u'FOLHA %(page_number)02d/%(page_count)02d', top=3.3*cm, left=8*cm, width=3.4*cm, height=0.5*cm) #fld.padding_top = 0.1*cm #fld.style = DESCRITIVO_NUMERO #self.elements.append(fld) ## ## No caso dos códigos de barra, altura (height) e largura (width) se referem às barras, não à imagem ## #self.elements.append(Line(top=0*cm, bottom=0*cm, left=11.4*cm, right=19.4*cm, stroke_width=0.1)) #self.elements.append(BarCode(type=u'Code128', attribute_name=u'NFe.chave_para_codigo_barras', top=((1.625-0.8)/2.0)*cm, left=11.3*cm, width=0.025*cm, height=0.8*cm)) #lbl, fld = self.inclui_campo(nome='remetente_chave', titulo=u'CHAVE DE ACESSO', conteudo=u'NFe.chave_formatada', top=1.625*cm, left=11.4*cm, width=8*cm, margem_direita=True) #fld.style = DADO_CHAVE #self.inclui_campo(nome='remetente_natureza', titulo=u'NATUREZA DA OPERAÇÃO', conteudo=u'NFe.infNFe.ide.natOp.valor', top=4*cm, left=0*cm, width=11.4*cm) #self.inclui_campo(nome='remetente_ie', titulo=u'INSCRIÇÃO ESTADUAL', conteudo=u'NFe.infNFe.emit.IE.valor', top=4.70*cm, left=0*cm, width=6.4*cm) #self.inclui_campo(nome='remetente_iest', titulo=u'INSCRIÇÃO ESTADUAL DO SUBSTITUTO TRIBUTÁRIO', conteudo=u'NFe.infNFe.emit.IEST.valor', top=4.70*cm, left=6.4*cm, width=6.6*cm) #self.inclui_campo(nome='remetente_cnpj', titulo=u'CNPJ', conteudo=u'NFe.cnpj_emitente_formatado', top=4.70*cm, left=13*cm, width=6.4*cm, margem_direita=True) self.height = 2.3*cm
def __init__(self): super(CabecalhoRetrato, self).__init__() self.elements = [] # Quadro do emitente self.inclui_texto(nome='quadro_emitente', titulo='', texto='', top=0 * cm, left=0 * cm, width=15.4 * cm, height=2.3 * cm) # # Área central - Dados do DANFE # txt = self.inclui_texto_sem_borda(nome='prefeitura', texto='Prefeitura de Sorocaba', top=0 * cm, left=3 * cm, width=12.4 * cm, height=0.5 * cm) txt.style = DESCRITIVO_DANFE txt = self.inclui_texto_sem_borda(nome='secretaria', texto='Secretaria de Finanças', top=0.75 * cm, left=3 * cm, width=12.4 * cm, height=0.5 * cm) txt.style = DESCRITIVO_DANFE txt = self.inclui_texto_sem_borda( nome='rps', texto='RECIBO PROVISÓRIO DE SERVIÇOS - RPS', top=1.5 * cm, left=3 * cm, width=12.4 * cm, height=0.5 * cm) txt.style = DESCRITIVO_DANFE lbl, fld = self.inclui_campo_numerico(nome='numero_rps', titulo='Número do RPS', conteudo='RPS.numero_formatado', top=0 * cm, left=15.4 * cm, width=4 * cm, height=(2.3 / 2) * cm, margem_direita=True) lbl, fld = self.inclui_campo(nome='data_rps', titulo='Data de Emissão do RPS', conteudo='RPS.DataEmissaoRPS.valor', top=(2.3 / 2) * cm, left=15.4 * cm, width=4 * cm, height=(2.3 / 2) * cm, margem_direita=True) # # Dados do remetente # img = Image() img.top = 5 img.left = 9 # # Tamanhos equilaventes, em centímetros, a 3,0 x 2,2, em 128 dpi # estranhamente, colocar os tamanhos em centímetros encolhe a imagem # img.width = 133 img.height = 98 img.filename = 'logotipo_prefeitura/sp-sorocaba.jpeg' self.elements.append(img) #txt = self.inclui_texto_sem_borda(nome='danfe_ext', texto=u'DOCUMENTO AUXILIAR DA NOTA FISCAL ELETRÔNICA', top=0.6*cm, left=8*cm, width=3.4*cm, *cm)height=4*cm) #txt.style = DESCRITIVO_DANFE_GERAL #txt = self.inclui_texto_sem_borda(nome='danfe_entrada', texto=u'0 - ENTRADA', top=1.45*cm, left=8.3*cm, width=3.4*cm, height=4*cm) #txt.style = DESCRITIVO_DANFE_ES #txt = self.inclui_texto_sem_borda(nome='danfe_saida', texto=u'1 - SAÍDA', top=1.85*cm, left=8.3*cm, width=3.4*cm, height=4*cm) #txt.style = DESCRITIVO_DANFE_ES #fld = self.inclui_campo_sem_borda(nome='danfe_entrada_saida', conteudo=u'NFe.infNFe.ide.tpNF.valor', top=1.6*cm, left=10.4*cm, width=0.6*cm, height=0.6*cm) #fld.style = DESCRITIVO_NUMERO #fld.borders = {'top': 0.1, 'right': 0.1, 'bottom': 0.1, 'left': 0.1} #fld.padding_bottom = 0.2*cm #fld = self.inclui_campo_sem_borda(nome='danfe_numero', conteudo=u'NFe.numero_formatado', top=2.4*cm, left=8*cm, width=3.4*cm, height=0.5*cm) #fld.style = DESCRITIVO_NUMERO #fld = self.inclui_campo_sem_borda(nome='danfe_serie', conteudo=u'NFe.serie_formatada', top=2.85*cm, left=8*cm, width=3.4*cm, height=0.5*cm) #fld.style = DESCRITIVO_NUMERO #fld = SystemField(name='fld_danfe_folha', expression=u'FOLHA %(page_number)02d/%(page_count)02d', top=3.3*cm, left=8*cm, width=3.4*cm, height=0.5*cm) #fld.padding_top = 0.1*cm #fld.style = DESCRITIVO_NUMERO #self.elements.append(fld) ## ## No caso dos códigos de barra, altura (height) e largura (width) se referem às barras, não à imagem ## #self.elements.append(Line(top=0*cm, bottom=0*cm, left=11.4*cm, right=19.4*cm, stroke_width=0.1)) #self.elements.append(BarCode(type=u'Code128', attribute_name=u'NFe.chave_para_codigo_barras', top=((1.625-0.8)/2.0)*cm, left=11.3*cm, width=0.025*cm, height=0.8*cm)) #lbl, fld = self.inclui_campo(nome='remetente_chave', titulo=u'CHAVE DE ACESSO', conteudo=u'NFe.chave_formatada', top=1.625*cm, left=11.4*cm, width=8*cm, margem_direita=True) #fld.style = DADO_CHAVE #self.inclui_campo(nome='remetente_natureza', titulo=u'NATUREZA DA OPERAÇÃO', conteudo=u'NFe.infNFe.ide.natOp.valor', top=4*cm, left=0*cm, width=11.4*cm) #self.inclui_campo(nome='remetente_ie', titulo=u'INSCRIÇÃO ESTADUAL', conteudo=u'NFe.infNFe.emit.IE.valor', top=4.70*cm, left=0*cm, width=6.4*cm) #self.inclui_campo(nome='remetente_iest', titulo=u'INSCRIÇÃO ESTADUAL DO SUBSTITUTO TRIBUTÁRIO', conteudo=u'NFe.infNFe.emit.IEST.valor', top=4.70*cm, left=6.4*cm, width=6.6*cm) #self.inclui_campo(nome='remetente_cnpj', titulo=u'CNPJ', conteudo=u'NFe.cnpj_emitente_formatado', top=4.70*cm, left=13*cm, width=6.4*cm, margem_direita=True) self.height = 2.3 * cm
def dados_emitente_logo_horizontal(self, arquivo_imagem): elements = [] # # Dados do remetente # img = Image() img.top = 0.1*cm img.left = 0.1*cm # # Tamanhos equilaventes, em centímetros, a 3,8 x 2,5, em 128 dpi # estranhamente, colocar os tamanhos em centímetros encolhe a imagem # img.width = 191 img.height = 116 img.filename = arquivo_imagem elements.append(img) fld = Campo() fld.nome = 'fld_rem_nome' fld.attribute_name = u'NFe.infNFe.emit.xNome.valor' fld.top = 0.2*cm fld.left = 4*cm fld.width = 4*cm fld.height = 1.4*cm fld.style = EMIT_NOME elements.append(fld) fld = Campo() fld.nome = 'fld_rem_endereco_3' fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_3' fld.top = 2.05*cm fld.left = 4*cm fld.width = 4*cm fld.height = 0.45*cm fld.style = EMIT_DADOS elements.append(fld) # fld = Campo() # fld.nome = 'fld_rem_endereco_4' # fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_4' # fld.top = 2.05*cm # fld.left = 4*cm # fld.width = 4*cm # fld.height = 0.45*cm # fld.style = EMIT_DADOS # elements.append(fld) fld = Campo() fld.nome = 'fld_rem_endereco_1' fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_1' fld.top = 2.5*cm fld.left = 0*cm fld.width = 8*cm fld.height = 0.7*cm fld.style = EMIT_DADOS elements.append(fld) fld = Campo() fld.nome = 'fld_rem_endereco_2' fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_2' fld.top = 3.2*cm fld.left = 0*cm fld.width = 8*cm fld.height = 0.7*cm fld.style = EMIT_DADOS elements.append(fld) fld = Campo() fld.nome = 'fld_regime_tributario' fld.attribute_name = 'NFe.crt_descricao' fld.top = 3.6*cm fld.left = 0*cm fld.width = 8*cm fld.height = 0.4*cm fld.style = DADO_PRODUTO_CENTRALIZADO elements.append(fld) return elements
def dados_emitente_logo_vertical(self, arquivo_imagem): elements = [] # # Dados do remetente # img = Image() img.top = 0.1*cm img.left = 0.1*cm # # Tamanhos equilaventes, em centímetros, a 2,5 x 3,8, em 128 dpi # estranhamente, colocar os tamanhos em centímetros encolhe a imagem # img.width = 116 img.height = 191 img.filename = arquivo_imagem elements.append(img) fld = Campo() fld.nome = 'fld_rem_nome' fld.attribute_name = u'NFe.infNFe.emit.xNome.valor' fld.top = 0.2*cm fld.left = 2.5*cm fld.width = 5.5*cm fld.height = 1.5*cm fld.style = EMIT_NOME elements.append(fld) fld = Campo() fld.nome = 'fld_rem_endereco_1' fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_1' fld.top = 1.4*cm fld.left = 2.5*cm fld.width = 5.5*cm fld.height = 0.7*cm fld.style = EMIT_DADOS elements.append(fld) fld = Campo() fld.nome = 'fld_rem_endereco_2' fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_2' fld.top = 2.2*cm fld.left = 2.5*cm fld.width = 5.5*cm fld.height = 0.7*cm fld.style = EMIT_DADOS elements.append(fld) fld = Campo() fld.nome = 'fld_rem_endereco_3' fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_3' fld.top = 3*cm fld.left = 2.5*cm fld.width = 5.5*cm fld.height = 0.45*cm fld.style = EMIT_DADOS elements.append(fld) fld = Campo() fld.nome = 'fld_rem_endereco_4' fld.attribute_name = u'NFe.endereco_emitente_formatado_linha_4' fld.top = 3.4*cm fld.left = 2.5*cm fld.width = 5.5*cm fld.height = 0.45*cm fld.style = EMIT_DADOS elements.append(fld) fld = Campo() fld.nome = 'fld_regime_tributario' fld.attribute_name = 'NFe.crt_descricao' fld.top = 3.6*cm fld.left = 2.5*cm fld.width = 5.5*cm fld.height = 0.4*cm fld.style = DADO_PRODUTO_CENTRALIZADO elements.append(fld) return elements