| 1 | #!/usr/bin/python |
|---|
| 2 | # -*- coding: UTF8 -*- |
|---|
| 3 | # archivo : actaexamen.py |
|---|
| 4 | # |
|---|
| 5 | ############################################################################### |
|---|
| 6 | # |
|---|
| 7 | # |
|---|
| 8 | # Sancabase - Administrador general para centros de Formación Profesional |
|---|
| 9 | # Copyleft (c) 2007 Javier Castrillo // riverplatense at gmail dot com |
|---|
| 10 | #Este programa es software libre; usted puede redistruirlo y/o modificarlo bajo |
|---|
| 11 | #los términos de la Licencia Pública General GNU, tal y como está publicada |
|---|
| 12 | #por la Free Software Foundation; ya sea la versión 2 de la Licencia, o (a su |
|---|
| 13 | #elección) cualquier versión posterior. |
|---|
| 14 | # |
|---|
| 15 | #Este programa se distribuye con la intención de ser útil, pero SIN NINGUNA |
|---|
| 16 | #GARANTÃA; incluso sin la garantÃa implÃcita de USABILIDAD O UTILIDAD PARA UN |
|---|
| 17 | #FIN PARTICULAR. Vea la Licencia Pública General GNU para más detalles. |
|---|
| 18 | # |
|---|
| 19 | #Usted deberÃa haber recibido una copia de la Licencia Pública General GNU |
|---|
| 20 | #junto a este programa; si no es asÃ, escriba a la Free Software Foundation, |
|---|
| 21 | #Inc. 675 Mass Ave, Cambridge, MA 02139, EEUU. |
|---|
| 22 | # |
|---|
| 23 | # |
|---|
| 24 | ############################################################################### |
|---|
| 25 | |
|---|
| 26 | from reportlab.pdfgen import canvas |
|---|
| 27 | from reportlab.lib.units import cm |
|---|
| 28 | from reportlab.lib.pagesizes import legal, landscape |
|---|
| 29 | from reportlab.lib.colors import white |
|---|
| 30 | |
|---|
| 31 | def actaexamenes(c): |
|---|
| 32 | c.translate(0*cm, 1*cm) |
|---|
| 33 | # Rectángulo de encabezado grande |
|---|
| 34 | c.rect(1.6*cm, 17.4*cm, 32*cm, 2.0*cm, stroke=1, fill=0) |
|---|
| 35 | c.line(10.0*cm, 17.4*cm, 10.0*cm, 19.4*cm) |
|---|
| 36 | c.line(19.0*cm, 17.4*cm, 19.0*cm, 19.4*cm) |
|---|
| 37 | c.line(26.3*cm, 17.4*cm, 26.3*cm, 19.4*cm) |
|---|
| 38 | c.line(31.8*cm, 17.4*cm, 31.8*cm, 19.4*cm) |
|---|
| 39 | c.drawString(2.5*cm, 18.8*cm, u'PROVINCIA DE BUENOS AIRES') |
|---|
| 40 | c.drawString(2.0*cm, 18.2*cm, u'DIRECCIÃN GENERAL DE CULTURA Y') |
|---|
| 41 | c.drawString(4.3*cm, 17.6*cm, u'EDUCACIÃN') |
|---|
| 42 | c.drawString(10.2*cm, 18.8*cm, u'DIRECCIÃN DE EDUCACIÃN DE ADULTOS') |
|---|
| 43 | c.drawString(11.3*cm, 17.9*cm, u'Y FORMACIÃN PROFESIONAL') |
|---|
| 44 | c.drawString(19.2*cm, 18.8*cm, u'Especialidad: ') |
|---|
| 45 | c.drawString(27.1*cm, 18.8*cm, u'ACTA DE EXAMEN') |
|---|
| 46 | c.drawString(32.3*cm, 18.8*cm, u'F.P.') |
|---|
| 47 | # Rectángulo de datos |
|---|
| 48 | c.rect(1.6*cm, 15.4*cm, 32*cm, 2.0*cm, stroke=1, fill=0) |
|---|
| 49 | c.line(26.3*cm, 15.4*cm, 26.3*cm, 17.4*cm) |
|---|
| 50 | c.drawString(1.9*cm, 16.8*cm, u'En el establecimiento de la localidad de a los dÃas del mes de') |
|---|
| 51 | c.drawString(1.9*cm, 16.2*cm, u' del año reunida la comisión examinadora con el objeto de cumplir con su cometido, llega al ') |
|---|
| 52 | c.drawString(1.9*cm, 15.6*cm, u'resultado que se consigna a continuación.') |
|---|
| 53 | c.drawString(26.5*cm, 16.8*cm, u'Acto administrativo: ') |
|---|
| 54 | c.drawString(26.5*cm, 15.9*cm, u'Curso Nº: ') |
|---|
| 55 | # Rectángulo de encabezado |
|---|
| 56 | c.rect(1.6*cm, 14.0*cm, 32*cm, 1.4*cm, stroke=1, fill=0) |
|---|
| 57 | c.line(2.6*cm, 14.0*cm, 2.6*cm, 15.4*cm) |
|---|
| 58 | c.drawString(1.9*cm, 14.5*cm, u'Nº') |
|---|
| 59 | c.drawString(4.0*cm, 14.5*cm, u'APELLIDO Y NOMBRES') |
|---|
| 60 | xlist = [10.4*cm, 11.4*cm, 14.8*cm, 15.8*cm, 19.2*cm, 20.2*cm, 23.6*cm, 24.6*cm, 28.0*cm] |
|---|
| 61 | ylist = [14.7*cm, 14.0*cm] |
|---|
| 62 | c.grid (xlist, ylist) |
|---|
| 63 | c.line(10.4*cm, 14.7*cm, 10.4*cm, 15.4*cm) |
|---|
| 64 | c.line(14.8*cm, 14.7*cm, 14.8*cm, 15.4*cm) |
|---|
| 65 | c.line(19.2*cm, 14.7*cm, 19.2*cm, 15.4*cm) |
|---|
| 66 | c.line(23.6*cm, 14.7*cm, 23.6*cm, 15.4*cm) |
|---|
| 67 | c.line(28.0*cm, 14.7*cm, 28.0*cm, 15.4*cm) |
|---|
| 68 | c.drawString(11.3*cm, 14.9*cm, u'TALLER/100') |
|---|
| 69 | c.drawString(15.2*cm, 14.9*cm, u'TECNOLOGÃA/100') |
|---|
| 70 | c.drawString(20.0*cm, 14.9*cm, u'CALCULO/100') |
|---|
| 71 | c.drawString(24.1*cm, 14.9*cm, u'DIBUJO TÃC./100') |
|---|
| 72 | c.drawString(10.7*cm, 14.2*cm, u'Nº') |
|---|
| 73 | c.drawString(15.1*cm, 14.2*cm, u'Nº') |
|---|
| 74 | c.drawString(19.5*cm, 14.2*cm, u'Nº') |
|---|
| 75 | c.drawString(23.9*cm, 14.2*cm, u'Nº') |
|---|
| 76 | c.drawString(12.2*cm, 14.2*cm, u'LETRAS') |
|---|
| 77 | c.drawString(16.6*cm, 14.2*cm, u'LETRAS') |
|---|
| 78 | c.drawString(21.0*cm, 14.2*cm, u'LETRAS') |
|---|
| 79 | c.drawString(25.4*cm, 14.2*cm, u'LETRAS') |
|---|
| 80 | c.drawString(29.4*cm, 14.9*cm, u'DOCUMENTO') |
|---|
| 81 | c.drawString(29.2*cm, 14.2*cm, u'DE IDENTIDAD') |
|---|
| 82 | #Grilla principal |
|---|
| 83 | xlist = [1.6*cm, 2.6*cm, 10.4*cm, 11.4*cm, 14.8*cm, 15.8*cm, 19.2*cm, 20.2*cm, 23.6*cm, 24.6*cm, 28*cm, 33.6*cm] |
|---|
| 84 | ylist = [14.0*cm, 13.4*cm, 12.8*cm, 12.2*cm, 11.6*cm, 11.0*cm, 10.4*cm, 9.8*cm, 9.2*cm, 8.6*cm, 8.0*cm, 7.4*cm, 6.8*cm, 6.2*cm, 5.6*cm, 5.0*cm, 4.4*cm, 3.8*cm, 3.2*cm] |
|---|
| 85 | c.grid (xlist, ylist) |
|---|
| 86 | c.drawString(1.9*cm, 13.6*cm, u'1') |
|---|
| 87 | c.drawString(1.9*cm, 13.0*cm, u'2') |
|---|
| 88 | c.drawString(1.9*cm, 12.4*cm, u'3') |
|---|
| 89 | c.drawString(1.9*cm, 11.8*cm, u'4') |
|---|
| 90 | c.drawString(1.9*cm, 11.2*cm, u'5') |
|---|
| 91 | c.drawString(1.9*cm, 10.6*cm, u'6') |
|---|
| 92 | c.drawString(1.9*cm, 10.0*cm, u'7') |
|---|
| 93 | c.drawString(1.9*cm, 9.4*cm, u'8') |
|---|
| 94 | c.drawString(1.9*cm, 8.8*cm, u'9') |
|---|
| 95 | c.drawString(1.8*cm, 8.2*cm, u'10') |
|---|
| 96 | c.drawString(1.8*cm, 7.6*cm, u'11') |
|---|
| 97 | c.drawString(1.8*cm, 7.0*cm, u'12') |
|---|
| 98 | c.drawString(1.8*cm, 6.4*cm, u'13') |
|---|
| 99 | c.drawString(1.8*cm, 5.8*cm, u'14') |
|---|
| 100 | c.drawString(1.8*cm, 5.2*cm, u'15') |
|---|
| 101 | c.drawString(1.8*cm, 4.6*cm, u'16') |
|---|
| 102 | c.drawString(1.8*cm, 4.0*cm, u'17') |
|---|
| 103 | c.drawString(1.8*cm, 3.4*cm, u'18') |
|---|
| 104 | # Rectángulo inferior |
|---|
| 105 | c.rect(1.6*cm, 0.6*cm, 32*cm, 2.6*cm, stroke=1, fill=0) |
|---|
| 106 | c.drawString(1.8*cm, 0.7*cm, u'Se considera aprobado con un mÃnimo de 70 puntos') |
|---|
| 107 | c.drawString(4.0*cm, 2.2*cm, u'Vocal 1º') |
|---|
| 108 | c.drawString(12.0*cm, 2.2*cm, u'Presidente') |
|---|
| 109 | c.drawString(11.4*cm, 1.6*cm, u'Director o Regente') |
|---|
| 110 | c.drawString(21.0*cm, 2.2*cm, u'Vocal 2º') |
|---|
| 111 | ylist = [0.6*cm, 1.4*cm, 2.0*cm, 2.6*cm, 3.2*cm] |
|---|
| 112 | xlist = [26.5*cm, 31.5*cm, 33.6*cm] |
|---|
| 113 | c.grid (xlist, ylist) |
|---|
| 114 | c.drawString(26.7*cm, 2.75*cm, u'Aprobados') |
|---|
| 115 | c.drawString(26.7*cm, 2.15*cm, u'Desaprobados') |
|---|
| 116 | c.drawString(26.7*cm, 1.55*cm, u'Ausentes') |
|---|
| 117 | c.drawString(26.7*cm, 0.9*cm, u'Examinados') |
|---|
| 118 | c.drawString(22.5*cm, 0.7*cm, u'Inspector') |
|---|
| 119 | |
|---|
| 120 | |
|---|
| 121 | c = canvas.Canvas("./planillas/actaexamen.pdf", pagesize=landscape(legal)) |
|---|
| 122 | actaexamenes(c) |
|---|
| 123 | c.showPage() |
|---|
| 124 | c.save() |
|---|
| 125 | |
|---|
| 126 | |
|---|
| 127 | |
|---|