You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.6 KiB

# coding=utf-8
'''
Created on 01/07/2015
@author: danimar
'''
from pytrustnfe.xml.DynamicXml import DynamicXml
from reportlab.platypus.tables import Table
from reportlab.pdfgen.canvas import Canvas
from reportlab.lib.pagesizes import A4
from reportlab.platypus.doctemplate import SimpleDocTemplate
from reportlab.lib import colors
inch = 28.34
class Danfe(object):
objeto = None
def __init__(self, objetoNFe):
assert isinstance(objetoNFe, DynamicXml),\
'ObjetoNFe deve ser do tipo DynamicXml'
self.objeto = objetoNFe
def gerar(self):
doc = SimpleDocTemplate(
'/home/danimar/projetos/pdfs/danfe.pdf',
pagesize=A4, leftMargin=0.5 * inch, rightMargin=0.5 * inch,
topMargin=0.5 * inch, bottomMargin=0.5 * inch)
elementos = []
data = [
['Recebemos de verdesaine industria e comércio os produtos constantes na nota fiscal abaixo ', '',
'NF-e\nNº 000.000.001\nSérie 001'],
['Data de recebimento',
'Identificação e assinatura do recebedor',
'']
]
estilo = [('SPAN', (0, 0), (1, 0)),
('SPAN', (2, 0), (2, 1)),
('FONTSIZE', (0, 0), (1, 1), 8.0),
('VALIGN', (0, 0), (1, 1), 'TOP'),
('ALIGN', (2, 0), (2, 1), 'CENTER'),
('GRID', (0, 0), (3, 1), 1, colors.black)]
colunas = [4 * inch, 12 * inch, 4 * inch]
table = Table(data, style=estilo, colWidths=colunas)
elementos.append(table)
doc.build(elementos)