This is an extension to this earlier post to allow Speak to Text inside PDFs and other places where the built-in speech service might not work. To do so, you need to create a Service using Automator. First, when you open Automator, it will ask to "Choose a type for your document:" Select service.
Select Service as the Document Type
Then, find the Speak Text action (you can search for it), add drag it to the right side of the window. Your preferred voice can be chosen from the drop down menu. Now, just save the workflow. It should now show up anytime you right-click on a text selection.
Update: A gif screencast of the process is shown below. Click through for a better view of it.