Another more indirect approach is to make sure that your ~/.mailcap
file does what you want with PDF files:
...
application/pdf; emacsclient %s
...
and making sure that you have started the server in your emacs with M-x server-start
.
It's indirect in that several things have to go "right", but they generally are "right" by default - unless you've changed them of course. The following is Linux-only (I have no idea how/whether MacOS and Windows handle mailcaps):
org-file-apps
should include the entry ("\\.pdf\\'" . default)
org-file-apps-gnu
should include the entry (system . mailcap)
~/.mailcap
should include the stanza above
The trouble of course is that debugging problems involves looking in three places instead of one. OTOH, if you want uniform treatment of PDF files, that's a central place to do it, so many programs that know about ~/.mailcap
will open PDF files in Emacs; if you do the customization in org-file-apps
only Org mode knows (or at least cares) about it, which, depending on one's point of view, may be considered either a limitation or a feature.