def get(self, request, *args, **kwargs): reload(sys) datos_id = self.kwargs['pk'] sys.setdefaultencoding("utf-8") pdf = class_report.PDFBV(orientation='P', unit='mm', format='letter') pdf.alias_nb_pages() pdf.add_page() pdf.set_fill_color(157, 188, 201) pdf.set_text_color(24, 29, 31) pdf.set_margins(10, 10, 10) pdf.set_font('Arial', 'B', 12) pdf.set_text_color(27, 128, 172) # pdf.cell(250, 5, 'Patriotas BVA 200', '', 1, 'C', 0) patrullero = Datos.objects.all() patrullero_f = patrullero.filter(usuario_id=datos_id) patrullero_v = patrullero_f.values('cedula', 'p_nombre', 's_nombre', 'p_apellido', 's_apellido', 'cargo') cedula = '{:,}'.format(patrullero_v[0]['cedula']).replace(",", ".") print cedula m_x = 20 pdf.set_x(m_x) pdf.set_text_color(0, 0, 0) pdf.set_font('Arial', 'B', 11) # Fuente de la Letra pdf.cell(15, 5, 'Cedula:', 0, 0, 'L', 0) pdf.set_font('Arial', '', 11) # Fuente de la Letra pdf.cell(22, 5, str(patrullero_v[0]['cedula']), 0, 0, 'L', 0) s_nombre_p = '' if patrullero_v[0]['s_nombre'] is not None: s_nombre_p = patrullero_v[0]['s_nombre'] s_apellido_p = '' if patrullero_v[0]['s_apellido'] is not None: s_apellido_p = patrullero_v[0]['s_apellido'] pdf.set_text_color(0, 0, 0) pdf.set_font('Arial', 'B', 11) # Fuente de la Letra pdf.cell(17, 5, 'Nombre:', 0, 0, 'L', 0) pdf.set_font('Arial', '', 11) # Fuente de la Letra pdf.cell( 10, 5, str(patrullero_v[0]['p_nombre'] + ' ' + s_nombre_p + ' ' + patrullero_v[0]['p_apellido'] + ' ' + s_apellido_p).decode("UTF-8"), 0, 0, 'L', 0) pdf.ln(15) pdf.set_font('Arial', 'B', 11) # Fuente de la Letra pdf.cell(180, 5, 'Lista 1X10', 0, 0, 'C', 0) pdf.ln() pdf.set_x(m_x) pdf.set_text_color(0, 0, 0) pdf.set_fill_color(217, 237, 247) pdf.set_font('Arial', 'B', 8) # Fuente de la Letra pdf.cell(10, 5, 'Nº'.decode("UTF-8"), 'LTRB', 0, 'C', 1) pdf.cell(18, 5, 'Cédula'.decode("UTF-8"), 'LTRB', 0, 'C', 1) pdf.cell(70, 5, 'Nombre'.decode("UTF-8"), 'LTRB', 0, 'L', 1) pdf.cell(80, 5, 'Cargo', 'LTRB', 1, 'L', 1) datos = UnoDiezInti.objects.all() datos_i = datos.filter(usuario_id=datos_id) datos_v = datos_i.values( "datos_id", 'datos__cedula', 'datos__p_nombre', 'datos__s_nombre', 'datos__p_apellido', 'datos__s_apellido', 'datos__cargo', 'datos__departamento').distinct().order_by('datos__cedula') i = 1 j = 1 for d in datos_v: if j == 45: pdf.add_page() pdf.set_x(m_x) pdf.set_text_color(0, 0, 0) pdf.set_fill_color(217, 237, 247) pdf.set_font('Arial', 'B', 8) # Fuente de la Letra pdf.cell(10, 5, 'Nº'.decode("UTF-8"), 'LTRB', 0, 'C', 1) pdf.cell(18, 5, 'Cédula'.decode("UTF-8"), 'LTRB', 0, 'C', 1) pdf.cell(70, 5, 'Nombre'.decode("UTF-8"), 'LTRB', 0, 'L', 1) pdf.cell(80, 5, 'Cargo', 'LTRB', 1, 'L', 1) j = 1 resto = i % 2 s_nombre = '' if d['datos__s_nombre'] is not None: s_nombre = d['datos__s_nombre'] s_apellido = '' if d['datos__s_apellido'] is not None: s_apellido = d['datos__s_apellido'] pdf.set_x(m_x) pdf.set_fill_color(255, 255, 255) if resto == 0: pdf.set_fill_color(239, 239, 239) pdf.set_font('Arial', '', 8) # Fuente de la Letra pdf.cell(10, 5, str(i), 'LTRB', 0, 'R', 1) pdf.cell(18, 5, str(d['datos__cedula']), 'LTRB', 0, 'R', 1) pdf.cell( 70, 5, str(d['datos__p_nombre']).decode("UTF-8") + ' ' + str(s_nombre).decode("UTF-8") + ' ' + str(d['datos__p_apellido']).decode("UTF-8") + ' ' + str(s_apellido).decode("UTF-8"), 'LTRB', 0, 'L', 1) pdf.cell(80, 5, str(d['datos__cargo']), 'LTRB', 1, 'L', 1) i += 1 j += 1 arch = 'patrullero' ruta_reporte = settings.MEDIA_PDF archivo = ruta_reporte + 'patriotas.pdf' pdf.output(archivo, 'F') archivo = open(archivo, "r") response = HttpResponse(archivo.read(), content_type='application/pdf') response['Content-Disposition'] = 'inline; filename="' + str( arch) + '.pdf"' return response
def get(self, request, *args, **kwargs): reload(sys) sys.setdefaultencoding("utf-8") pdf = class_report.PDFBV(orientation='P', unit='mm', format='letter') pdf.set_author('Marcel Arcuri') pdf.alias_nb_pages() pdf.add_page() pdf.set_fill_color(157, 188, 201) pdf.set_text_color(24, 29, 31) pdf.set_margins(10, 10, 10) pdf.set_font('Arial', 'B', 12) pdf.set_text_color(27, 128, 172) # pdf.cell(250, 5, 'Patriotas BVA 200', '', 1, 'C', 0) pdf.ln() pdf.set_x(40) pdf.set_text_color(0, 0, 0) pdf.set_fill_color(217, 237, 247) pdf.set_font('Arial', 'B', 8) # Fuente de la Letra pdf.cell(10, 5, 'Nº'.decode("UTF-8"), 'LTRB', 0, 'C', 1) pdf.cell(18, 5, 'Cédula'.decode("UTF-8"), 'LTRB', 0, 'C', 1) pdf.cell(80, 5, 'Nombre'.decode("UTF-8"), 'LTRB', 0, 'L', 1) pdf.cell(22, 5, 'Cant Patrullas', 'LTRB', 1, 'L', 1) datos = UnoDiezInti.objects.all() datos_v = datos.values("datos_id", 'datos__cedula', 'datos__p_nombre', 'datos__s_nombre', 'datos__p_apellido', 'datos__s_apellido').annotate( total=Count("datos_id")).order_by('-total') i = 1 j = 1 for d in datos_v: if j == 45: pdf.add_page() pdf.set_x(40) pdf.set_text_color(0, 0, 0) pdf.set_fill_color(217, 237, 247) pdf.set_font('Arial', 'B', 8) # Fuente de la Letra pdf.cell(10, 5, 'Nº'.decode("UTF-8"), 'LTRB', 0, 'C', 1) pdf.cell(18, 5, 'Cédula'.decode("UTF-8"), 'LTRB', 0, 'C', 1) pdf.cell(80, 5, 'Nombre'.decode("UTF-8"), 'LTRB', 0, 'L', 1) pdf.cell(22, 5, 'Cant Patrullas', 'LTRB', 1, 'L', 1) j = 1 resto = i % 2 s_nombre = '' if d['datos__s_nombre'] is not None: s_nombre = d['datos__s_nombre'] s_apellido = '' if d['datos__s_apellido'] is not None: s_apellido = d['datos__s_apellido'] pdf.set_x(40) pdf.set_fill_color(255, 255, 255) if resto == 0: pdf.set_fill_color(239, 239, 239) pdf.set_font('Arial', '', 8) # Fuente de la Letra pdf.cell(10, 5, str(i), 'LTRB', 0, 'R', 1) pdf.cell(18, 5, str(d['datos__cedula']), 'LTRB', 0, 'R', 1) pdf.cell( 80, 5, str(d['datos__p_nombre']).decode("UTF-8") + ' ' + str(s_nombre).decode("UTF-8") + ' ' + str(d['datos__p_apellido']).decode("UTF-8") + ' ' + str(s_apellido).decode("UTF-8"), 'LTRB', 0, 'L', 1) pdf.cell(22, 5, str(d['total']), 'LTRB', 1, 'R', 1) i += 1 j += 1 arch = 'patrullero' ruta_reporte = settings.MEDIA_PDF archivo = ruta_reporte + 'patriotas.pdf' pdf.output(archivo, 'F') archivo = open(archivo, "r") response = HttpResponse(archivo.read(), content_type='application/pdf') response['Content-Disposition'] = 'inline; filename="' + str( arch) + '.pdf"' return response