from reportlab.pdfgen import canvas from reportlab.lib.units import mm OUTPUT = "grid.pdf" width, height = (181.7 * mm, 256.8 * mm) GRID_COLOR = (0.5, 0.5, 1) INTERVAL = 5 * mm numv = int((width - ((4 + 4) * mm)) / INTERVAL) numh = int((height - (16 + 3) * mm) / INTERVAL) voff = (width - numv * INTERVAL) / 2.0 hoff = 16 * mm # Draw c = canvas.Canvas(OUTPUT, pagesize=(width, height)) c.setLineWidth(0.15) c.setStrokeColorRGB(*GRID_COLOR) for xi in xrange(numv + 1): c.line(xi * INTERVAL + voff, hoff, xi * INTERVAL + voff, hoff + numh * INTERVAL) for yi in xrange(numh + 1): c.line(voff, hoff + yi * INTERVAL, voff + numv * INTERVAL, hoff + yi * INTERVAL) #c.circle(width / 2, 5 * mm, 0.7, fill=1) c.save()