The lack of a file system on the iPad and other iOS based devices can sometimes be frustrating. While applications like Dropbox make accessing your existing files trivial, getting new files onto your device directly from the web is not as easy. If you come across a PDF or other file that you’d like to open in a local application, you may be out of luck.
The best way I’ve found to get files onto the iPad without the aid of your computer is GoodReader. In addition to being an excellent PDF reader, GoodReader is also a robust file manager. It supports about anything you can think of, including Dropbox, iDisk, USB, FTP and even a web-based interface accessible via WiFi. Most importantly, you can give it a URL, and it will download the specified file into its local storage.
The GoodReader manual includes instructions on how to save a file from Safari into GoodReader. You have to either add a special prefix to the URL, or you can copy and paste it into the application. GoodReader supports this feature by registering a protocol handler for ghttp, grhttp, and a few others. While I think this is a great feature, I don’t particularly like doing things manually, so I created a simple bookmarklet to do this for me.
The bookmarklet uses the Location object to open a new page to the current URL with ‘gr’ prepended to it. This saves you from manually editing or copying the URL of the document you want to download. You can install the bookmarklet with the instructions below.
- Bookmark this page
- Copy the bookmarlet script above to your clipboard
- Edit the bookmark
- Set the name to something appropriate. I use ‘goodreadit’.
- Paste the code into the address field
The easiest way to copy the bookmarklet script on the iPad is to hold your finger down on it until the copy button pops up. Once the bookmarlet is installed, all you need to do is click on it, and whatever document you have open in Safari will automatically start downloading into GoodReader. According to the GoodReader documentation, the import feature may not always work correctly with SSL, but I’ve yet to have any trouble with it.