I've been using PDF995 for a while. It acts like a printer: just select it from the print dialogue, and it outputs a pdf instead of a print job.

I'm not sure how it would work with a large-format job like a battlemat, though. I guess that's something to look into.