Printing in modern GNU/Linux distributions is done via the Common Unix Printing System (CUPS). CUPS supports Samba as a backend, and Samba supports printing via CUPS.