I am exporting a document as a PDF. It is kept on a publicly accessibly website so that any users can download and read it. Now I want to track this. e.g. "How many times the PDF got opened."
Note that my question is not to track while I download, we need to track when the PDF is opened. Is there any kind of script that is invoked when the PDF is opened so that Adobe Acrobat Reader sends the details to my server?
These are the details I would like:
Yes, you can probably do this. PDF includes a Javascript API, which some (but not all) PDF readers implement. I'm only certain of Acrobat and Foxit Reader doing this, and it can be turned off in both, for security and privacy reasons. That said, it's probably your best shot.
I glanced through the Javascript for Acrobat API Reference, and it looks like you could register for the "Page/Open" event (page 368 in my copy), and on receiving the first one of those, make a Net.HTTP call (page 548) to a web server you're running. That will get you the date/time and the public IP of the client reading the document, from which you can get a geolocation using a service like GeoIP.