I have no control over the hardware what so ever. So it's not up to me to get a new server.
Why don't you try some in-memory caching with your webserver?
Good idea but not practical as the PDF is created on the fly depending upon the search done by the user. Also we don't want the information cached anywhere for security purposes.