On one of the sites I'm running, what I had to do was actually remove PDFs from the default download tracking and then implement a customized s.tl() call on all of our PDF downloads.
The quick version is a click rule on elements with a specific CSS class, and inside there I write the logic to build the beacon (capture the additional eVars such as a human readable PDF name, set linktrackvars/events) and send off the s.tl() call manually. I'm curious if there's a better way to do that now.
What I did now is to define a s.doPlugin method, where I check for s.linkType==='d' and then add my custom eVars...
I would recommend and click event based rule if you are trying to customize a beacon based on specific links as a previous reply suggested.