def go(titulo, ruta_archivo, lineas_empresa, dic_peticion, dic_obra, dic_material, lineas_ensayo): """ Recibe el título del documento y la ruta completa del archivo PDF, una lista de líneas con la información de la empresa, un diccionario con los datos de la petición, otro con los de la obra, otro con los del material a ensayar y una lista de cadenas con los ensayos a realizar. La primera posición de la lista de datos de la empresa es la ruta al logotipo (cadena vacía si no se quiere logotipo). """ doc = SimpleDocTemplate(ruta_archivo, title = titulo, topMargin = 0.5*cm, bottomMargin = 0.5*cm, leftMargin = MARGEN_IZQUIERDO, rigthMargin = MARGEN_DERECHO, pagesize = (ANCHO, ALTO), showBoundary = 0) # 1 para "debug" encabezado = build_encabezado(lineas_empresa, dic_peticion) datos_cliente = build_datos_cliente(dic_obra, dic_peticion) contenido = build_tabla_contenido(dic_material, lineas_ensayo, dic_peticion) story = [encabezado, #Spacer(1, 0.1 * cm), datos_cliente, Spacer(1, 1 * cm), contenido # Linea((ANCHO - 1.05*cm, 24.5*cm - 3*cm), # (ANCHO - 1.05*cm, 2.5*cm + 3*cm + 0.25*cm)), # Spacer(1, 0.15 * cm), # Línea doble. #KeepTogether([LineaHorizontal(0.9 * ANCHO), # Spacer(1, 0.05 * cm), # LineaHorizontal(0.9 * ANCHO)]), #CondPageBreak(13*cm), ] story = misc.aplanar([i for i in story if i]) doc.build(story) return ruta_archivo
def go(ruta_archivo, laborante, peticiones, titulo = "Hoja de ruta", ): doc = SimpleDocTemplate(ruta_archivo, title = titulo, topMargin = 2.30 * cm, bottomMargin = 2 * cm) datos_laborante = build_datos_laborante(laborante) logo = build_logo_cabecera() story = [logo, datos_laborante] for fecha in peticiones: story.append(build_fecha(fecha)) for peticion in peticiones[fecha]: datos_peticion = build_datos_peticion(peticion) story.append(datos_peticion) story = misc.aplanar(story) doc.build(story) return ruta_archivo