We are one of around twenty small offices renting space in an office building. It's a 'no soliciting' building, meaning (without getting into legal stuff) city code prohibits ignoring the 'no soliciting' signs at the entrance and coming inside to try to sell things to the various offices.
Despite this, we get plenty of folks walking in to sell us things. We politely remind them that it's a 'no soliciting' building and wish them a good day, despite it being a pet peeve of mine that they come in anyway.

Here's where it gets a bit interesting: They often reach to take one of our business cards, or request one if there aren't any readily available. I assume it's to document that they were there, either to save coming back or to justify their pay. I usually gently refuse, as I don't want to give something that cost me money to someone who shouldn't be in my office and has no interest in being our client.
Do you consider this (the refusal) to be impolite?
Thank you.