How to stop Safari downloading .pdf as .pdf.lspdf

There may be an issue that arises, apparently rarely, if you have once installed the Livescribe Echo application. Safari, when downloading a .pdf, will appear to keep adding a second extension, .lspdf, to the file name. Searching on Google doesn’t really return anything useful, and removing etc. doesn’t help either. This article reports a way to solve that problem, which to the best of my knowledge has not been solved before.

The first result when searching for the problem is a page from LiveScribe, where they essentially say, well, we’ve no idea, maybe you might want to use another browser for downloading PDF files. They do link to an Apple support page, which shows that the problem does occur also with other file types. This is helpful as it indicates it is not a specific .lspdf thing, i.e., it does not make sense to search only for that file type. One of the links from the Apple support page goes to a post discussing saying, it might be related to mime types.

This made me remember I had installed, a while ago, RCDefaultApp. This application allows to view, though not to edit, file type associations. Essentially, the file type associations within MacOS are kept in what’s called a LaunchServices database. RCDefaultApp also showed that there still was an association for .lspdf, even though I had removed the program.

This then led me to this page, which discusses how to remove duplicate entries from MacOS’s „open with“ context menu. The page suggests to rebuild the LaunchServices database like so:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user

And then to kill Finder in order to have those changes to become active:

killall Finder

The first command takes a while (like, several minutes) to execute. After that, RCDefaultApp no longer shows entries for .lspdf, and, what’s more important, .pdf files are no longer renamed when they are downloaded.

I also noticed that when I did this, I was missing some entries from the share menu, e.g., not being able to share a web page using email. Finding this post, I did this to restore these entries:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -seed

This again too a while and also conveniently listed all extensions that were added. Probably one could combine both lsregister calls into one, but anyway…

Problem solved.

These steps were executed on El Capitan, so you may want to check whether that works on your version.