Recent versions of CUPS added the ability to print pdfs directly. 11.10 and newer (and possibly older) releases have this.
Another approach (that I use with my duplex (two-sided) printing emulator package) is to use Print To File for all your print jobs and put them in a folder that effectively becomes your personal print queue. Once they're there, you can print some or all of them when you want to and delete them when they're done.
This has the added advantage of allowing you to rerun jobs after a paper jam, etc. without recreating them from scratch. It also allows you to keep working without stopping to manage your printer.
If you want to, you could write a small script that would run in the background and start printing things that appear in your print queue. If you do any of this, you may want to name your print jobs so that they sort in the queue in the order you want them to print in. I just use 00 ... 99 for names.
For text files, look out for those that may have long lines. CUPS (at least by default) won't wrap the lines for you or set up nice page margins.
My duplex printing system does a lot more than what you're asking for, but might give you some ideas. Notably it has two small helper scripts dprint and dprintm which take text and tame it a bit before sending it to the printer.