PC Magazine: “Stanza is the best e-book reader for the iPhone, and my favorite.”
— 21 Cool iPhone Apps - Stanza
Hi Everyone,
I was curious to know if there was a way to "Enable Sharing" on a whole directory instead of one document at a time? I have a directory (with Sub-directories) with hundreds of PDF documents I'd like to be able to sync to my iPhone for reading. I don't want to have to go to my desktop each time and share them one at a time since my reading preference changes from time to time.
Any help is appreciated. Thanks in advance for your time and help.
Another Option
Since my earlier post, I've become aware of another option. If you will convert your ebooks into epub format (using calibre or some equivalent tool), then there is a utility available on the Internet known as DiskAid which can bulk transfer them into a directory structure on the iPod/iPhone. The next time that Stanza launches on the handheld, it will automatically import any epub's in that directory into Stanza. For a more complete description, check out http://www.lexcycle.com/faq#3n619 and search for "Transferring books via the USB cable (for epub or eReader)". The DiskAid tool is one which you can try for a couple of weeks for free, and then must purchase (around $10), but it works. Please note, though, this solution will not work for books that aren't in epub or eReader format.
We've been Chasing the Same Problem -
I've been looking for solutions to the same problem, and to date there doesn't appear to be a comprehensive answer. Shared libraries appear to be an essentially flat structure, with no provision for directory trees beneath them. There are several ways to sort and/or tag individual ebooks to make them easier to find quickly via a sort and/or search mechanism, but no tree-structured directories as such.
As you've already discovered, transferring the ebooks one at a time is not a viable mechanism for loading a library. There are a few different ways to transfer groups of ebooks to the handheld device that I've been able to get working (none of them particularly good), and I'll give you a brief description of these:
1) Create a blank directory on your machine (c:\ebooktransfer), and copy a block of files that you want to transfer into it. I'd recommend keeping the number of files relatively low (say 20 or so), as Stanza is going to have to open all of them simultaneously. Bring up a command prompt. If you don't have a path entry for the Stanza directory, CD to the directory where Stanza is installed, then invoke Stanza via the command line with "Stanza c:\ebooktransfer\*.*" What will happen is that Stanza will then open all of the files contained within that directory, and will bring up a window for each one. It will also, fortuitously, publish all of them under the same "shared library" to the handheld. Go to Stanza on your device, select the Shared Library entry on your Library page, and open the shared library labelled "Books on MyPCName" selection. You should be presented with the entire list of books in your \ebooktransfer directory. In the top right hand corner will be a small symbol - when you select it you'll be asked if you want to download all the ebooks displayed. Say yes, and with any luck you'll transfer the entire list to your handheld. There is currently an outstanding bug in 1.9.1 of Stanza for the iPod/iPhone that causes it to abort and exit on occasion while the "Download All" action is underway, but I'm confident that support is working on a fix for this. If it does, just restart Stanza and go through the Download All selection again. Once all your ebooks are transferred to the handheld go back to the PC and close all the stanza windows. Depending upon your machine settings, you may be able to do this with a single operation by selecting the Java icon at the bottom of the screen, hitting the RIGHT mouse button, and selecting "close group" - if you're not configured for this, you'll have to close them one at a time. This is a Brute Force, Bigger Hammer method for transferring the files, but it works - and it's a heck of a lot faster than doing the files one at a time. I've transferred files in groups as large as 50 this way, but I'd recommend doing it in blocks of 20.
2) Option 2 is a bit stickier, in that you'll need to prepare all the files you want to transfer by converting them to ePub format before you move them. StanzaPC appears to do this dynamically, as the files are opened, but does not appear to save the epub versions unless you instruct it to do so by selecting the "File" option and "Export Book As" then choosing "Open eBook".
There are other utilities out there which will convert the various formats to epubs, most notably one known as Calibre. It has a lot of nice features as well, and I'd recommend that you check it out. It is also one of the other two mechanisms I'm aware of for moving files to the handheld. It is more of a general solution than StanzaPC, as it addresses transferring books to multiple device types and eReaders, but has some quirks of its own. There are other entries on the forum describing its use, and there's a fairly good tutorial that is referenced in the FAQ, so you'll probably want to check it out. In any event, it is also capable of creating epub files from .LIT, .PDB, etc.
Once your files are in epub format, you can either use Calibre's content server to "share" the content to the handheld, or you can create a "Shared Catalog" for use with your own webserver to share the library to the handheld. Using Calibre appears to be far easier at this time, though it isn't quite as flexible. There are some utilities out there which would help in the creation of the catalogs (calibre2web), but I haven't had time to check them out as yet. The biggest drawback that I've found so far is that you have to convert all your content to epub - and there doesn't appear to be any way around that.
As near as I can determine with the documentation available, Stanza for the iPhone/iPod handheld devices can only read files in the epub format. The StanzaPC/StanzaMac utilities (and now Calibre) have been handling the conversion to the epub format before "sharing" those files to the handheld, literally converting the files "on the fly" as they are opened (on StanzaPC) or as they are added to the library (Calibre). In order to support a sharing of entire directory trees, StanzaPC would have to be restructured, or more likely a StanzaContentServer would need to be created to "share" the library structure to the handheld. It would have to be capable of opening each file in each directory, extracting out the relevant information such as title, cover image, tags, etc., before the content server could create the catalog of books to share. Once that was done, it would be possible to make the catalog visible to the handheld, but the files couldn't actually be transferred until they were completely converted to epub, whether one at a time when each one was requested for download, or in bulk at the time the catalog was created (this appears to be more feasible). Either way is going to be a slow, cumbersome pain in the posterior - and it isn't something that's likely to change.
The problem is that there are at least two dozen formats for electronic publishing being used today, and rather than standardizing, there are new ones popping up all the time as the various content providers scramble to protect their own revenue streams with proprietary encoding, encryption schemes, non-standardized hardware-based readers, digital rights management systems, etc. As readers, we have access to over 250K items of content, in virtually every format known to science, and not one in one thousand of them is in an open standard format. Converting them is a HUGE task, as the peripheral information such as title, author, series, etc., isn't managed the same way in any TWO of them, and massaging that data to get the conversion completed is a major task - and it has to be done for each and every file. Utilities such as Calibre are helping with that task, but there's still a long way to go.
It'll take it
That was a great post and I appreciate your time in responding. Great ideas which I'll have to try. Thanks again!