There are door stops which actually go on the hinge area – and are mounted using the hinge pins.
These are adjustable for the amount of arc swing you wish to set (using a threaded rod which you screw in to allow for a greater arc swing, or screw out (making the protruding rod longer) to restrict the arc swing. On the ends there are rubberized caps. Since their pressure/stop is in at the hinge area of the woodwork/moulding you don’t suffer damage to the walls, and since the rest at the hinge corner of the door – there is nothing protruding to catch your self on (stubbed toes, ripped pockets, etc.).
It is wise to have these on both the top and bottom hinge if the door is heavy. Solid wood doors, etc. with three hinges – consider having one on each hinge, carefully adjusted so as to avoid any stress on a particular hinge should the door be stressed in its open and stopped position (like someone falling against the door).