Esempio n. 1
0
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
Esempio n. 2
0
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