"Text filter" is what the Handbook calls an input filter. It's really just a variation on a driver, a program that takes one form of input (PostScript, usually) and converts it to whatever goofy printer language a particular printer supports. The ps2pcl example in my guide is an input filter.
If you want to use Gutenprint drivers, it's probably easiest to use CUPS instead of lpd. CUPS has a simple interface on top of layers of complexity that is supposed to do all the setup for you. When it works, it makes things easier. I don't use CUPS, so can't suggest much beyond the basics: CUPS on FreeBSD