Gimp can open a PDF with each page as either a separate layer or as a separate image and has tools that can rescue just about any image but of course if this is a long document you may end up having to spend quite a lot of time on it as you will need to apply the changes to each page manually, (or write a script to do the changes).
However, I would suggest also downloading and installing Image Magick which is a command line image processor that also supports converting from and to the PDF format, and a lot more.
With the 2 free tools above you could convert all the pages to a sequence of images with something like:
convert -density 600 foo.pdf foo-%02d.jpg
pick a typical page and use gimp to discover what changes such as contrast, sharpness, etc., are needed to improve the print quality, (make sure that you only do things that apply to the whole image), then batch process all the images, (from the command line again), to apply those changes to all of the images and reassemble to a new pdf.
Both tools are free, (gratis), and run on a number of platforms including Windows, Mac & Linux.