本文整理汇总了Python中pyboleto.pdf.BoletoPDF.nextPage方法的典型用法代码示例。如果您正苦于以下问题:Python BoletoPDF.nextPage方法的具体用法?Python BoletoPDF.nextPage怎么用?Python BoletoPDF.nextPage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyboleto.pdf.BoletoPDF
的用法示例。
在下文中一共展示了BoletoPDF.nextPage方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: print_santander
# 需要导入模块: from pyboleto.pdf import BoletoPDF [as 别名]
# 或者: from pyboleto.pdf.BoletoPDF import nextPage [as 别名]
def print_santander():
listaDadosSantander = []
for i in range(2):
d = BoletoSantander()
d.agencia_cedente = "1333"
d.conta_cedente = "0707077"
d.data_vencimento = datetime.date(2012, 7, 22)
d.data_documento = datetime.date(2012, 7, 17)
d.data_processamento = datetime.date(2012, 7, 17)
d.valor_documento = 2952.95
d.nosso_numero = "1234567"
d.numero_documento = "12345"
d.ios = "0"
d.cedente = "Empresa ACME LTDA"
d.cedente_documento = "102.323.777-01"
d.cedente_endereco = "Rua Acme, 123 - Centro - Sao Paulo/SP - CEP: 12345-678"
d.instrucoes = [
"- Linha 1",
"- Sr Caixa, cobrar multa de 2% após o vencimento",
"- Receber até 10 dias após o vencimento",
]
d.demonstrativo = ["- Serviço Teste R$ 5,00", "- Total R$ 5,00"]
d.valor_documento = 255.00
d.sacado = ["Cliente Teste %d" % (i + 1), "Rua Desconhecida, 00/0000 - Não Sei - Cidade - Cep. 00000-000", ""]
listaDadosSantander.append(d)
# Caixa Formato normal - uma pagina por folha A4
boleto = BoletoPDF("boleto-santander-formato-normal-teste.pdf")
for i in range(len(listaDadosSantander)):
boleto.drawBoleto(listaDadosSantander[i])
boleto.nextPage()
boleto.save()
示例2: print_teste_boleto
# 需要导入模块: from pyboleto.pdf import BoletoPDF [as 别名]
# 或者: from pyboleto.pdf.BoletoPDF import nextPage [as 别名]
def print_teste_boleto(boleto, banco_nome):
"""
Gera dois arquivos PDF para teste do 'boleto', um com "normal",
outro no formato "carnê duplo", cada um composo de duas páginas
iguais.
boleto: instância de classe descendente de BoletoData (ex.: BoletoItau)
banco_nome: string para geração do nome do PDF (ex.: 'itau')
FIXME: com esta generalização, perde-se apenas o diferente nome de cliente
em cada boleto (teste 1, teste 2, etc.). Opcionalmente, esta função poderia
aceitar uma lista de boletos, em vez de apenas um.
TODO: refatorar testes abaixo (print_bb, print_caixa, etc.) para
usar esta função genérica.
"""
# Caixa Formato normal - uma pagina por folha A4
pdf = BoletoPDF('boleto-%s-formato-normal-teste.pdf' % banco_nome)
for i in range(2):
pdf.drawBoleto(boleto)
pdf.nextPage()
pdf.save()
# Formato carnê - uma pagina por folha A4
pdf = BoletoPDF('boleto-%s-formato-carne-teste.pdf' % banco_nome, True)
for i in range(2):
pdf.drawBoletoCarneDuplo(boleto, boleto)
pdf.nextPage()
pdf.save()
示例3: print_all
# 需要导入模块: from pyboleto.pdf import BoletoPDF [as 别名]
# 或者: from pyboleto.pdf.BoletoPDF import nextPage [as 别名]
def print_all():
banks = {
# "itau": "Itau",
"bb": "Banco do Brasil",
"caixa": "Caixa",
"real": "Real",
"santander": "Santander",
"bradesco": "Bradesco",
}
for bank in banks:
print("Gerando boleto para o banco " + banks[bank])
data_func_name = "get_data_" + bank
data_func = eval(data_func_name)
boleto_datas = data_func()
if sys.version_info < (3,):
boleto_PDF = BoletoPDF('boleto-' + bank + '-normal-teste.pdf')
boleto_HTML = BoletoHTML('boleto-' + bank + '-normal-teste.html')
for boleto_data in boleto_datas:
if sys.version_info < (3,):
boleto_PDF.drawBoleto(boleto_data)
boleto_PDF.nextPage()
boleto_PDF.save()
boleto_HTML.drawBoleto(boleto_data)
boleto_HTML.nextPage()
boleto_HTML.save()
示例4: print_real
# 需要导入模块: from pyboleto.pdf import BoletoPDF [as 别名]
# 或者: from pyboleto.pdf.BoletoPDF import nextPage [as 别名]
def print_real():
listaDadosReal = []
for i in range(2):
d = BoletoReal()
d.carteira = "57" # Contrato firmado com o Banco Real
d.cedente = "Empresa ACME LTDA"
d.cedente_documento = "102.323.777-01"
d.cedente_endereco = "Rua Acme, 123 - Centro - Sao Paulo/SP - CEP: 12345-678"
d.agencia_cedente = "0531"
d.conta_cedente = "5705853"
d.data_vencimento = datetime.date(2010, 3, 27)
d.data_documento = datetime.date(2010, 2, 12)
d.data_processamento = datetime.date(2010, 2, 12)
d.instrucoes = [
"- Linha 1",
"- Sr Caixa, cobrar multa de 2% após o vencimento",
"- Receber até 10 dias após o vencimento",
]
d.demonstrativo = ["- Serviço Teste R$ 5,00", "- Total R$ 5,00"]
d.valor_documento = 5.00
d.nosso_numero = "%d" % (i + 2)
d.numero_documento = "%d" % (i + 2)
d.sacado = ["Cliente Teste %d" % (i + 1), "Rua Desconhecida, 00/0000 - Não Sei - Cidade - Cep. 00000-000", ""]
listaDadosReal.append(d)
# Real Formato normal - uma pagina por folha A4
boleto = BoletoPDF("boleto-real-formato-noral-teste.pdf")
for i in range(len(listaDadosReal)):
boleto.drawBoleto(listaDadosReal[i])
boleto.nextPage()
boleto.save()
示例5: print_santander
# 需要导入模块: from pyboleto.pdf import BoletoPDF [as 别名]
# 或者: from pyboleto.pdf.BoletoPDF import nextPage [as 别名]
def print_santander(request):
listaDadosSantander = []
for i in range(12):
d = BoletoSantander()
d.agencia_cedente = '1333'
d.conta_cedente = '0707077'
d.data_vencimento = datetime.date(2013, (i+1), 22)
d.data_documento = datetime.date(2013, 7, 17)
d.data_processamento = datetime.date(2012, 7, 17)
d.valor_documento = 2952.95
d.nosso_numero = '1234569'
d.numero_documento = '12347'
d.ios = '0'
d.cedente = 'Empresa ACME LTDA'
d.cedente_documento = "102.323.777-01"
d.cedente_endereco = "Rua Acme, 123 - Centro - Sao Paulo/SP - CEP: 12345-678"
d.instrucoes = [
"- Linha 1",
"- Sr Caixa, cobrar multa de 2% após o vencimento",
"- Receber até 10 dias após o vencimento",
]
d.demonstrativo = [
"- Serviço Teste R$ 5,00",
"- Total R$ 5,00",
]
d.valor_documento = 255.00
d.sacado = [
"Cliente Teste %d" % (i + 1),
"Rua Desconhecida, 00/0000 - Não Sei - Cidade - Cep. 00000-000",
""
]
listaDadosSantander.append(d)
# Caixa Formato normal - uma pagina por folha A4
buffer = StringIO()
boleto = BoletoPDF(buffer)
#boleto = canvas.Canvas(response)
for i in range(len(listaDadosSantander)):
boleto.drawBoleto(listaDadosSantander[i])
boleto.nextPage()
#boleto.showPage()
boleto.save()
pdf_file = buffer.getvalue()
response = HttpResponse(mimetype='application/pdf')
response['Content-Disposition'] = 'attachment; filename=%s' % (
u'boletos_%s.pdf' % (
date.today().strftime('%Y%m%d'),
),
)
response.write(pdf_file)
return response
示例6: print_sicoob
# 需要导入模块: from pyboleto.pdf import BoletoPDF [as 别名]
# 或者: from pyboleto.pdf.BoletoPDF import nextPage [as 别名]
def print_sicoob():
listaDadosBancoob = []
for i in range(2):
d = BoletoBancoob()
d.carteira = '1'
d.cedente = 'CLIENTE TESTE'
d.cedente_documento = "102.323.777-01"
d.cedente_endereco = "Rua Acme, 123 - Centro - Sao Paulo/SP - CEP: 12345-678"
d.agencia_cedente = '4293'
d.conta_cedente = '44563'
d.convenio = '44563'
d.modalidade_cobranca='02'
d.numero_parcela='001'
d.data_vencimento = datetime.date(2014, 9, 16)
d.data_documento = datetime.date(2014, 6, 16)
d.data_processamento = datetime.date(2014, 6, 16)
d.instrucoes = [
"- Linha 1",
"- Sr Caixa, cobrar multa de 2% após o vencimento",
"- Receber até 10 dias após o vencimento",
]
d.demonstrativo = [
"- Serviço Teste R$ 5,00",
"- Total R$ 5,00",
]
d.valor_documento = 9.00
d.nosso_numero = "50149"
d.numero_documento = "48958"
d.sacado = [
"Cliente Teste %d" % (i + 1),
"Rua Desconhecida, 00/0000 - Não Sei - Cidade - Cep. 00000-000",
""
]
listaDadosBancoob.append(d)
# Bancoob Formato carne - duas paginas por folha A4
boleto = BoletoPDF('boleto-Bancoob-formato-carne-teste.pdf', True)
for i in range(0, len(listaDadosBancoob), 2):
boleto.drawBoletoCarneDuplo(
listaDadosBancoob[i],
listaDadosBancoob[i + 1]
)
boleto.nextPage()
boleto.save()
# Bancoob Formato normal - uma pagina por folha A4
boleto = BoletoPDF('boleto-Bancoob-formato-normal-teste.pdf')
for i in range(len(listaDadosBancoob)):
boleto.drawBoleto(listaDadosBancoob[i])
boleto.nextPage()
boleto.save()
示例7: print_caixa
# 需要导入模块: from pyboleto.pdf import BoletoPDF [as 别名]
# 或者: from pyboleto.pdf.BoletoPDF import nextPage [as 别名]
def print_caixa():
listaDadosCaixa = []
for i in range(2):
d = BoletoCaixa()
d.carteira = 'SR' # Contrato firmado com o Banco Bradesco
d.cedente = 'Empresa ACME LTDA'
d.cedente_documento = "102.323.777-01"
d.cedente_endereco = ("Rua Acme, 123 - Centro - Sao Paulo/SP - " +
"CEP: 12345-678")
d.agencia_cedente = '1565'
d.conta_cedente = '414-3'
d.data_vencimento = datetime.date(2010, 3, 27)
d.data_documento = datetime.date(2010, 2, 12)
d.data_processamento = datetime.date(2010, 2, 12)
d.instrucoes = [
"- Linha 1",
"- Sr Caixa, cobrar multa de 2% após o vencimento",
"- Receber até 10 dias após o vencimento",
]
d.demonstrativo = [
"- Serviço Teste R$ 5,00",
"- Total R$ 5,00",
]
d.valor_documento = 255.00
d.nosso_numero = "8019525086"
d.numero_documento = "8019525086"
d.sacado = [
"Cliente Teste %d" % (i + 1),
"Rua Desconhecida, 00/0000 - Não Sei - Cidade - Cep. 00000-000",
""
]
listaDadosCaixa.append(d)
# Caixa Formato normal - uma pagina por folha A4
boleto = BoletoPDF('boleto-caixa-formato-carne-teste.pdf', True)
for i in range(0, len(listaDadosCaixa), 2):
boleto.drawBoletoCarneDuplo(
listaDadosCaixa[i],
listaDadosCaixa[i + 1]
)
boleto.nextPage()
boleto.save()
# Caixa Formato normal - uma pagina por folha A4
boleto = BoletoPDF('boleto-caixa-formato-normal-teste.pdf')
for i in range(len(listaDadosCaixa)):
boleto.drawBoleto(listaDadosCaixa[i])
boleto.nextPage()
boleto.save()
示例8: print_banconordeste
# 需要导入模块: from pyboleto.pdf import BoletoPDF [as 别名]
# 或者: from pyboleto.pdf.BoletoPDF import nextPage [as 别名]
def print_banconordeste():
listaDadosBancoNordeste = []
for i in range(2):
d = BoletoBancoNordeste()
d.carteira = '51' # Contrato firmado com o Banco BancoNordeste
d.cedente = 'CONNECT'
d.cedente_documento = "102.323.777-01"
d.cedente_endereco = "Rua Acme, 123 - Centro - Sao Paulo/SP - CEP: 12345-678"
d.agencia_cedente = '0226'
d.conta_cedente = '0000085'
d.conta_cednte_dv = '0'
d.data_vencimento = datetime.date(2014, 6, 10)
d.data_documento = datetime.date(2014, 4, 8)
d.data_processamento = datetime.date(2015, 4, 8)
d.instrucoes = [
"- Linha 1",
"- Sr Caixa, cobrar multa de 2% após o vencimento",
"- Receber até 10 dias após o vencimento",
]
d.demonstrativo = [
"- Serviço Teste R$ 5,00",
"- Total R$ 5,00",
]
d.valor_documento = 65.00
d.nosso_numero = "0055298"
d.numero_documento = "55298"
d.sacado = [
"Cliente Teste %d" % (i + 1),
"Rua Desconhecida, 00/0000 - Não Sei - Cidade - Cep. 00000-000",
""
]
listaDadosBancoNordeste.append(d)
# BancoNordeste Formato carne - duas paginas por folha A4
boleto = BoletoPDF('boleto-BancoNordeste-formato-carne-teste.pdf', True)
for i in range(0, len(listaDadosBancoNordeste), 2):
boleto.drawBoletoCarneDuplo(
listaDadosBancoNordeste[i],
listaDadosBancoNordeste[i + 1]
)
boleto.nextPage()
boleto.save()
# BancoNordeste Formato normal - uma pagina por folha A4
boleto = BoletoPDF('boleto-BancoNordeste-formato-normal-teste.pdf')
for i in range(len(listaDadosBancoNordeste)):
boleto.drawBoleto(listaDadosBancoNordeste[i])
boleto.nextPage()
boleto.save()
示例9: print_bb
# 需要导入模块: from pyboleto.pdf import BoletoPDF [as 别名]
# 或者: from pyboleto.pdf.BoletoPDF import nextPage [as 别名]
def print_bb(Aluno):
"""
Recebe uma instância de Aluno e gera boletos com as insformações passadas
"""
listaDados = []
for i in range(1):
d = BoletoBB(7, 2)
d.nosso_numero = "%d" % (i + 1)
d.numero_documento = "123456789"
d.convenio = "7777777"
d.especie_documento = "DM"
d.carteira = "18"
d.cedente = "Curso Opção Triunfo"
d.cedente_documento = "05261501490"
d.cedente_endereco = "Rua Alameda das Mansões"
d.agencia_cedente = "2739"
d.conta_cedente = "12097"
d.data_vencimento = datetime.date(2015, 12, 21)
d.data_documento = datetime.date(2015, 12, 20)
d.data_processamento = datetime.date(2015, 12, 20)
d.instrucoes = ["- Sr Caixa, cobrar multa de 2% após vencimento", "- Receber até 10 dias após vencimento"]
d.demonstrativo = ["- Testando pagamento", "- Total R$ 5,00"]
d.valor_documento = Decimal(600)
d.sacado_nome = Aluno.first_name
d.sacado_documento = Aluno.cpf
d.sacado_cidade = Aluno.endereco
d.sacado_uf = "RN"
d.sacado_endereco = "Rua rua"
d.sacado_bairro = "Sao Pedro"
d.sacado_cep = "3333333"
d.valor = Decimal(600)
d.valor_documento = Decimal(600)
d.quantidade = "1"
d.barcode
listaDados.append(d)
boleto = BoletoPDF("curso/boletos/boleto-teste-%s.pdf" % d.sacado_nome)
for i in listaDados:
boleto.drawBoleto(i)
boleto.nextPage()
boleto.save()
示例10: print_bradesco
# 需要导入模块: from pyboleto.pdf import BoletoPDF [as 别名]
# 或者: from pyboleto.pdf.BoletoPDF import nextPage [as 别名]
def print_bradesco():
listaDadosBradesco = []
for i in range(2):
d = BoletoBradesco()
d.carteira = '06' # Contrato firmado com o Banco Bradesco
d.cedente = 'Empresa ACME LTDA'
d.cedente_documento = "102.323.777-01"
d.cedente_endereco = "Rua Acme, 123 - Centro - Sao Paulo/SP - CEP: 12345-678"
d.agencia_cedente = '0278-0'
d.conta_cedente = '43905-3'
d.data_vencimento = datetime.date(2011, 1, 25)
d.data_documento = datetime.date(2010, 2, 12)
d.data_processamento = datetime.date(2010, 2, 12)
d.instrucoes = [
"- Linha 1",
"- Sr Caixa, cobrar multa de 2% após o vencimento",
"- Receber até 10 dias após o vencimento",
]
d.demonstrativo = [
"- Serviço Teste R$ 5,00",
"- Total R$ 5,00",
]
d.valor_documento = 2158.41
d.nosso_numero = "1112011668"
d.numero_documento = "1112011668"
d.sacado = [
"Cliente Teste %d" % (i + 1),
"Rua Desconhecida, 00/0000 - Não Sei - Cidade - Cep. 00000-000",
""
]
listaDadosBradesco.append(d)
# Bradesco Formato carne - duas paginas por folha A4
boleto = BoletoPDF('boleto-bradesco-formato-carne-teste.pdf', True)
for i in range(0, len(listaDadosBradesco), 2):
boleto.drawBoletoCarneDuplo(
listaDadosBradesco[i],
listaDadosBradesco[i + 1]
)
boleto.nextPage()
boleto.save()
# Bradesco Formato normal - uma pagina por folha A4
boleto = BoletoPDF('boleto-bradesco-formato-normal-teste.pdf')
for i in range(len(listaDadosBradesco)):
boleto.drawBoleto(listaDadosBradesco[i])
boleto.nextPage()
boleto.save()
示例11: test_pdf_rendering
# 需要导入模块: from pyboleto.pdf import BoletoPDF [as 别名]
# 或者: from pyboleto.pdf.BoletoPDF import nextPage [as 别名]
def test_pdf_rendering(self):
dados = self.dados[0]
bank = type(dados).__name__
filename = tempfile.mktemp(prefix="pyboleto-", suffix=".pdf")
boleto = BoletoPDF(filename, True)
boleto.drawBoleto(dados)
boleto.nextPage()
boleto.save()
generated = filename + ".xml"
pdftoxml(filename, generated)
expected = self._get_expected(bank, generated)
diff = diff_pdf_htmls(expected, generated)
if diff:
self.fail("Error while checking xml for %r:\n%s" % (bank, diff))
os.unlink(generated)
示例12: print_sicredi
# 需要导入模块: from pyboleto.pdf import BoletoPDF [as 别名]
# 或者: from pyboleto.pdf.BoletoPDF import nextPage [as 别名]
def print_sicredi():
listaDados = []
for i in range(2):
d = BoletoSicredi('06','5','1')
d.nosso_numero = '13871'
d.numero_documento = '2700'
d.especie_documento = 'DS'
d.carteira = '1'
d.cedente = 'Empresa ACME LTDA'
d.cedente_documento = "102.323.777-01"
d.cedente_endereco = "Rua Acme, 123 - Centro - Sao Paulo/SP - CEP: 12345-678"
d.agencia_cedente = '1234'
d.conta_cedente = '12345'
d.conta_cedente_dv = '6'
d.inicio_nosso_numero='08'
d.data_vencimento = datetime.date(2008, 6, 27)
d.data_documento = datetime.date(2008, 6, 5)
d.data_processamento = datetime.date(2008, 6,5)
d.instrucoes = [
"- Linha 1",
"- Sr Caixa, cobrar multa de 2% após o vencimento",
"- Receber até 10 dias após o vencimento",
]
d.demonstrativo = [
"- Serviço Teste R$ 5,00",
"- Total R$ 5,00",
]
d.valor_documento = 2950.00
d.sacado = [
"Cliente Teste %d" % (i + 1),
"Rua Desconhecida, 00/0000 - Não Sei - Cidade - Cep. 00000-000",
""
]
listaDados.append(d)
boleto = BoletoPDF('boleto-sicredi-formato-normal-teste.pdf')
for i in range(len(listaDados)):
boleto.drawBoleto(listaDados[i])
boleto.nextPage()
boleto.save()
示例13: gen_boleto
# 需要导入模块: from pyboleto.pdf import BoletoPDF [as 别名]
# 或者: from pyboleto.pdf.BoletoPDF import nextPage [as 别名]
def gen_boleto(self, cr, uid, ids, boleto_ids, company_id, partner_id, context=None):
boleto_obj = self.pool.get("boleto.boleto")
fbuffer = StringIO()
boleto_pdf = BoletoPDF(fbuffer)
company = self.pool.get("res.company").browse(cr, uid, [company_id])[0]
partner = self.pool.get("res.partner").browse(cr, uid, [partner_id])[0]
partner_ad = partner.address[0]
for bol in boleto_obj.browse(cr, uid, boleto_ids, context=context):
if bol.banco == "bb":
boleto = BoletoBB(7, 2)
elif bol.banco == "bradesco":
boleto = BoletoBradesco()
elif bol.banco == "caixa":
boleto = BoletoCaixa()
elif bol.banco == "real":
boleto = BoletoReal()
boleto.cedente = company.name
boleto.carteira = bol.carteira
boleto.agencia_cedente = bol.agencia_cedente
boleto.conta_cedente = bol.conta_cedente
boleto.data_vencimento = datetime.date(datetime.strptime(bol.data_vencimento, "%Y-%m-%d"))
boleto.data_documento = datetime.date(datetime.strptime(bol.data_documento, "%Y-%m-%d"))
boleto.data_processamento = date.today()
boleto.valor_documento = bol.valor
boleto.nosso_numero = bol.numero_documento
boleto.numero_documento = bol.numero_documento
boleto.convenio = bol.convenio
boleto.instrucoes = bol.instrucoes.split()
boleto.sacado = [
"%s" % partner.legal_name or partner.name,
"%s, %s - %s - %s - Cep. %s"
% (partner_ad.street, partner_ad.number, partner_ad.district, partner_ad.city, partner_ad.zip),
"",
]
boleto_pdf.drawBoleto(boleto)
boleto_pdf.nextPage()
boleto_pdf.save()
boleto_file = fbuffer.getvalue().encode("base64")
fbuffer.close()
return boleto_file
示例14: print_bb
# 需要导入模块: from pyboleto.pdf import BoletoPDF [as 别名]
# 或者: from pyboleto.pdf.BoletoPDF import nextPage [as 别名]
def print_bb():
listaDados = []
for i in range(2):
d = BoletoBB(7, 2)
d.nosso_numero = '87654'
d.numero_documento = '27.030195.10'
d.convenio = '7777777'
d.especie_documento = 'DM'
d.carteira = '18'
d.cedente = 'Educarinova'
d.cedente_documento = "102.323.777-01"
d.cedente_endereco = ("Rua Acme, 123 - " +
"Centro - Sao Paulo/SP - " +
"CEP: 12345-678")
d.agencia_cedente = '9999111'
d.conta_cedente = '999991111'
d.data_vencimento = datetime.date(2010, 3, 27)
d.data_documento = datetime.date(2010, 2, 12)
d.data_processamento = datetime.date(2010, 2, 12)
d.instrucoes = [
"- Linha 1",
"- Sr Caixa, cobrar multa de 2% após o vencimento",
"- Receber até 10 dias após o vencimento",
]
d.demonstrativo = [
"- Serviço Teste R$ 5,00",
"- Total R$ 5,00",
]
d.valor_documento = 255.00
d.sacado = [
"Cliente Teste %d" % (i + 1),
"Rua Desconhecidaasdasd, 00/0000 - Não Sei - Cidade - Cep. 00000-000",
""
]
listaDados.append(d)
boleto = BoletoPDF('boleto-bb-formato-normal-teste.pdf')
for i in range(len(listaDados)):
boleto.drawBoleto(listaDados[i])
boleto.nextPage()
boleto.save()
示例15: gen_boleto
# 需要导入模块: from pyboleto.pdf import BoletoPDF [as 别名]
# 或者: from pyboleto.pdf.BoletoPDF import nextPage [as 别名]
def gen_boleto(self, cr, uid, ids, boleto_ids, context=None):
boleto_obj = self.pool.get('boleto.boleto')
fbuffer = StringIO()
boleto_pdf = BoletoPDF(fbuffer)
for bol in boleto_obj.browse(cr, uid, boleto_ids, context=context):
partner = bol.sacado
if bol.banco == 'bb':
boleto = BoletoBB(7, 2)
elif bol.banco == 'bradesco':
boleto = BoletoBradesco()
elif bol.banco == 'caixa':
boleto = BoletoCaixa()
elif bol.banco == 'real':
boleto = BoletoReal()
elif bol.banco == 'itau':
boleto = BoletoItau()
boleto.cedente = bol.cedente.name
boleto.carteira = bol.carteira
boleto.agencia_cedente = bol.agencia_cedente
boleto.conta_cedente = bol.conta_cedente
boleto.data_vencimento = datetime.date(datetime.strptime(bol.data_vencimento, '%Y-%m-%d'))
boleto.data_documento = datetime.date(datetime.strptime(bol.data_documento, '%Y-%m-%d'))
boleto.data_processamento = date.today()
boleto.valor_documento = bol.valor
boleto.nosso_numero = bol.numero_documento
boleto.numero_documento = bol.numero_documento
boleto.convenio = bol.convenio
boleto.instrucoes = bol.instrucoes.split('\n')
boleto.sacado = [
"%s" % bol.sacado.legal_name or bol.sacado.name,
"%s, %s - %s - %s - Cep. %s" % (partner.street, partner.number, partner.district, partner.city, partner.zip),
""
]
boleto_pdf.drawBoleto(boleto)
boleto_pdf.nextPage()
boleto_pdf.save()
boleto_file = fbuffer.getvalue().encode("base64")
fbuffer.close()
return boleto_file