O, since you are new I will suggest something like Ubuntu; of Ubuntu variants I like a 3rd party one called LinuxMint. For partitioning you can do it from a Linux live-CD. Boot up from the CD and shrink your Windows partition from the partition manager (GParted is the name I think). Then install to the new free space. Then you can configure GRUB (boot manager) to have both OSes installed.
As for printing, could emulate or try to find working drivers. Some printers have pre-made drivers already integrated into the OS or available in repositories or tools to emulate them.
DSL (damn-small-linux) can run on just about everything, but using it normally can be harder to learn. More things have to be installed/managed manually by the terminal.
As for your Windows programs, some may run with WiNE, some may not. There are freeware (GPL) programs that can do many of the functions of many of the costly programs, but will not have as many features. You can just keep Windows around to use those programs with the way of dual-booting I mentioned above.
-------
We do what we must because we can.