First off, don't play into it. Dogs usually come up to you when they're ultra-excited, bouncing on the forepaws and wagging excitedly. Cut this behavior off at the pass; Fold your arms, look up at the ceiling; and get him to realize that all interaction/good pettings are going to HALT immediately when he's acting like a ding-dong. Maybe a SETTLE command to drive home the point.
If that fails, keep him on a leash. When you give that OFF command, use a stiff collar correction to get all four feet on the floor.
I agree with Dweck's advice. We use off for things like off furniture, and we use down for the opposite of up. When we say up, we are inviting our dog to stand up, so when we say down, she knows she was not invited to stand up. Maybe teaching the up command will help your dog realize that standing is only on invitation. Thats what worked for us.
Our puppy-k instructor suggested folding your arms and walking forward into them while commanding OFF, and then praise when they are 4-on-the-floor. This was just last night, so not sure if it will work yet!