The absorption performance of perovskite CH3NH3PbI3 can be significantly improved via mono-, or co-doping of organic cations and halide ions.