Y bastante que me rompí el coco tratando de dar con esto hasta que en esta web a la cual entre por accidente (http://dcifuen.blogspot.com/2008/05/pdfs-en-google-app-engine.html) tenían la solución a la mano.
Aplicado a nuestro VisualWx con Python sería algo como esto:
Importamos las librerías del caso
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4
from reportlab.lib.units import cm
Definimos el tamaño y orientación del papel
ca = canvas.Canvas("c:/coloccidente/PDFS/certificado_5.pdf",pagesize=A4)
Y aquí está el código que nos centra el título
ca.drawCentredString(A4[0] / 2,810,u"MINISTERIO DE EDUCACIÓN NACIONAL") #Título
Por qué A4[0], pues porque ese es el tamaño del papel que se está utilizando para este ejemplo; si hubieras elegido letter pues tan solo reemplaza A4[0] por letter[0].
Para encontrar el centro de la página puedes hacer algo como esto:
ca.drawCentredString(A4[0] / 2,A4[1] / 2,u"CENTRO DE LA PAGINA")
Nótese que en lugar de definir el eje "y", en el que va el título hemos colocado A4[1] / 2
Aplicado a nuestro VisualWx con Python sería algo como esto:
Importamos las librerías del caso
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4
from reportlab.lib.units import cm
Definimos el tamaño y orientación del papel
ca = canvas.Canvas("c:/coloccidente/PDFS/certificado_5.pdf",pagesize=A4)
Y aquí está el código que nos centra el título
ca.drawCentredString(A4[0] / 2,810,u"MINISTERIO DE EDUCACIÓN NACIONAL") #Título
Por qué A4[0], pues porque ese es el tamaño del papel que se está utilizando para este ejemplo; si hubieras elegido letter pues tan solo reemplaza A4[0] por letter[0].
Para encontrar el centro de la página puedes hacer algo como esto:
ca.drawCentredString(A4[0] / 2,A4[1] / 2,u"CENTRO DE LA PAGINA")
Nótese que en lugar de definir el eje "y", en el que va el título hemos colocado A4[1] / 2
Comentarios