def listado(titulo, lista, tamanos, hoja): ubicacion_archivo = dialogo_guardar() if ubicacion_archivo is not None: # Si no tiene la terminación .pdf se le agrega if ubicacion_archivo[-4:].lower() != ".pdf": ubicacion_archivo += ".pdf" story = [] cabecera = getSampleStyleSheet()['Heading1'] cabecera.pageBreakBefore = 0 cabecera.keepWithNext = 0 parrafo = Paragraph("Registros de " + titulo, cabecera) story.append(parrafo) story.append(Spacer(0, 20)) tabla = Table(lista, tamanos) tabla = tabla_style(tabla) if tabla.minWidth() <= (hoja[0] - 5 * cm): # hoja (A4) story.append(tabla) else: story.append(tabla) print("Tabla de Tamanho mayor a permitido") ''' for x in tamanos: pos = x newTable = [y[0:x] for y in tabla] tb = Table(newTable) tb.setStyle(tabla.getStyle()) if tb.minWidth() <= (hoja[0] - 5*cm): story.append(tb) break ''' doc = SimpleDocTemplate( ubicacion_archivo, #os.path.join(os.path.expanduser("~"), "Desktop", "listado.pdf"), pagesize=hoja, # Tamaño de Página (landscape(A4) hoja horizontal) allowSplitting=1, title="Registros de " + titulo, author="Sistema Distribuidora" ) try: # Generar archiv doc.build(story) popen(ubicacion_archivo) except PermissionError as e: error_generico("Error de Permiso", "Puede ser que el nombre " + "elegido para el archivo a generar\nsea igual a uno que " + "en este momento se esté utilizando\n\n" + str(e))