This is a dominance issue, he’s taking the food because he is thinking it is his kitchen and it’s OK for him to do so. Think back to all the nature specials you have ever watched about wolves. Only the leader of the pack eats first, then the sub level pack members.
The real fix for this is to set up you’re “pack” status. How do you do that? Well it’s a pretty easy but very monotonous process. When you walk thru a door – make sure you walk thru first, and make a show of cutting him off. When the door bell rings and he goes running to bark at the door and get out to maul the visitor correct him and make him sit quietly. When you walk him his head is to be at you’re knee – so he always has you in the corner of his eye, watching to see when you stop or turn.
When it comes to the food on the table, setup the situation where there is food on the table then let him start to get up on the table. As soon as he makes his move grab him by the scruff of the neck pull him off and roll him onto his belly.
This is sending a very clear message in dog body language that the food on the table is your’s because you are the alpha. Only after you are done will you let him eat.
This can be a little hairy at first, and you may want to have a dog trainer show you how to put a dog in a submissive position with no risk of getting anyone hurt. If you’re trainer cannot or will not show you this, walk away, because they are not experienced with setting up a pack status which is the basis for all dog behavior and obedience.
Stick with it & good luck!