I've seen a simple solution to this using a pulley and some light rope from then a bottle full of sand.
The idea is you:
- hook the rope to the door (at the top, opposite side to the hindge) via a small hook
- then another hook/pulley near where the first hook would meet on the door frame
- from there you can direct it to another hook and pulley on the hinge side of the door frame if you want the bottle hung down on the hindge side
- Finally you let the rope down towards the ground tying it to the bottle
- You can vary the amount of sand to slow or speed up how quickly the door shuts, and how much force is required to open it again.
Works well, especially if it might be temporary. You can make it look as nice or crude as you like by using nicer rope and a nicer bottle too.
Here is an example picture.
Although its a little rough looking compared to what I first saw.