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
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)
|