Frame (x1, y1, ancho, alto, leftPadding=6, bottomPadding=6, rightPadding=6, topPadding=6, id=None, showBoundary=0)
El comando anterior, crear una instancia del Frame con cordenadas x,y que son relativas a la página en uso. Los Padding reducen espacio para dibujar. El id, sirve como un identificador (ej: 'ColumnaDerecha'). Si el showBoundary es distinto de cero, se mostrará las fronteras del frame en tiempo de ejecución.
- Frame.addFromList(drawList, canvas) Añade la lista de flowables
- Frame.split(flowable, canvas) Devuelve una lista de flowables
- Frame.drawBoundary(canvas) Dibuja el marco del Frame
Veamos el ejemplo:
import os #Cargamos los módulos que necesitamos. from reportlab.pdfgen.canvas import Canvas from reportlab.lib.styles import getSampleStyleSheet from reportlab.lib.units import inch from reportlab.platypus import Paragraph, Frame from reportlab.platypus import Image from reportlab.platypus import Spacer #Creamos objeto Canvas. c = Canvas('test.pdf') #Estilo de la hoja. estiloHoja = getSampleStyleSheet() #Demás estilos. estiloN = estiloHoja['Normal'] estiloH = estiloHoja['BodyText'] #Inicializamos platypus story. story = [] #Añadimos algunos flowables. imagen_logo = Image("Tux2.png", width=150, height=200) story.append(imagen_logo) #Dejamos espacio. story.append(Spacer(0,20)) #Añadimos un párrafo. story.append(Paragraph("Esto es un ejemplo de frame 01",estiloN)) #Definimos un frame. frame = Frame(3, 3, 200, 260, showBoundary=1) frame.addFromList(story, c) #Inicializamos platypus story. story2 = [] #Añadimos algunos flowables. story2.append(Paragraph("Este es el párrafo del segundo Frame",estiloH)) #Dejamos espacio. story2.append(Spacer(0,20)) #~ #Una imagen. imagen_logo = Image("imagen.jpg", width=100, height=100) story2.append(imagen_logo) #Definimos otro frame. frame2 = Frame(250, 3, 250, 250, 6, showBoundary=1) frame2.addFromList(story2, c) #Salvamos el PDF. c.save() os.system("test.pdf")
No hay comentarios:
Publicar un comentario