I explain here how blind people can remove the DRM from Kindle books for use on Android and other devices. These instructions are permitted only for personal use so that people with disabilities can have the same level of access to ebooks as is already available to the sighted.
Certain legal ramifications should be kept in mind. While the Department of Justice has said that it will take no action against those who break DRM to make file content accessible to people with disabilities, the DOJ has also said that it will take legal action if people sell, give away or loan such files outside their immediate households. Also, carelessness with respect to the rights of authors and publishers may cause the DOJ to rethink its stand and Amazon to plug this hole in its DRM.
Given all of this, I recommend against doing the work for other blind people, even if they buy the original source from Amazon. Instead, I suggest pointing them to tutorials like this one, which describe the tools and procedure for setting up an environment that allows them to make their purchases accessible for themselves.
Gathering the ToolsA number of tools are needed to support this process or help set up the environment. All are listed at the end of this article along with links to sources, and all are free.
The first item is the EBook DRM removal Kit.
This is a Torrent file. I used BitTorrent for the download. The file contains zip and rar files. Both can be unpacked by 7zip.
The file is a set of instructions, Python scripts and related executables for removing the DRM from Kindle and other file types. The basic DRM removal doesn't require a python interpreter, but the scripts for topaz file handling do require python 2.6 or 2.7.
The second item is the Kindle for PC with accessibility plugin from Amazon. The K4PC gives you access to the files you purchase and brings them to your PC. The files will appear in your “My Kindle Content” directory, which is created during installation, and they will have an .azw (Amazon.com wrapper) extension.
Note that this version of Kindle for PC requires that you have a screen reader installed. The Amazon page describing this version of K4PC includes a list of shortcuts for the accessible Kindle Application and a list of screen readers known to work with it. If you are using a screen reader that is not listed, download the program, install it, and check to find out if it works anyway. If it doesn’t, contact Amazon to tell them which one you are using and request that they add it to the list of compatible screen readers.
The third item is Calibre, a set of tools for translating ebooks from one format to another.
Note that the torrent does contain the installation executable for Kindle for PC, but that version is not accessible. Instead, use the special version directly from Amazon.
Removing the DRM from the FileThe DRM remover package documents several methods for using the programs and scripts it contains. The one I chose is this:
1. Create a special SKindle directory on the hard drive, where the My Kindle Content directory is also located. This is usually the system drive c:. I created the SKindle directory on my c:\ drive, but you can put it anywhere else on the drive.
2. Create two sub directories in the SKindle directory. Their names are Input and Output.
3. Into the SKindle directory, copy LZSkindle4PCv1_1.exe and skindle.exe, each of which is found in different subdirectories of the Torrent.
4. copy the .azw file from your “My Kindle Content” directory into the input directory in SKindle and execute LZSkindle4PCv1_1.exe. This is the step that actually removes the DRM from the Kindle book.
Three outcomes are possible:
• No conversion is done since the file is an unencrypted mobi file. The file remains in the input directory.
• The file is converted, the version without DRM appearing in the output subdirectory.
• The file version without DRM appears in the output file with a changed extension.
The goal is the first or second option. The third is a problem as it represents the case of a topaz ebook. The set of scripts do include python scripts for dealing with topaz books, but the results are said to be unsatisfactory. Since most Amazon books are mobi, I'll leave the handling of topaz books until I need to attempt to read one.
Note: While the DRM removal tools were running, I noticed that K4PC uses both the user account name on the PC and the serial number of the disk drive as part of the encryption. That means these scripts will work only if you log onto your computer using the same user account (login name)that was used when the book was downloaded from Amazon and that the SKindle directory must be on the same physical drive as the “My Kindle Content” directory.
Converting the Kindle File to EpubNow that you have a mobi book with no encryption in either the input or the output subdirectory, you need to convert it into an ePub for use on your Android or other reading device. Use Calibre to do this. The steps are as follows:
1. Create a directory named Calibre in the root directory of the drive that contains the SKindle and “My Kindle Content” directories.
2. Copy the .azw file with the DRM removed into the Calibre directory.
3. Use the notepad or your favorite text editor to create the following batch file:
Note that these are separate commands and should appear on different lines of the batch file. Also note that the assumption here is that the “My Kindle Content” directory will be on the C drive. This is the normal case, but advanced users can move it to another drive, in which case, the drive letter in the following needs to be changed.
ebook-convert "[book name].azw" .epub
4. Save this file as Calibre.bat in the Calibre directory.
5. If you need to edit the batch file, either open Notepad directly and use the file menu to open, or right click on the batch file name in Windows Explorer and select Edit from the context menu.
6. Execute the file by left clicking on the batch file name in Windows Explorer.
• In this tutorial, when a modified command line is specified, the idea is that you modify the line in the batch file. Running the command line outside its’ normal context does not produce the desired result.
• The phrase “[book name]” and the brackets around it should be replaced with the base name (the file name without the extension)of the Kindle book you want to process. In other words, before running the batch file, you need to substitute "[book name]" with the actual name of the book so the line reads something like this:
ebook-convert "Dracula.azw" .epub
Dividing the Book into ChaptersWhile Calibre normally correctly identifies chapter headings, there may be instances in which it fails to do so or in which the book has no identifiable chapter headings. If this is the case, you can do a little extra work to add them yourself, converting the file to .rtf and using Word to insert chapter breaks:
1. Use the notepad to open the Calibre.bat file and change the output file type in the second line from epub to .rtf so that it reads:
ebook-convert "[book name].azw" .rtf
2. Save the modified batch file.
3. Execute Calibre.bat by doing a left click on the file name in the Windows Explorer.
4. Open the resulting document in word and either mark chapters or insert headings every 10 to 15 pages.
a. To find existing chapters, use Find (ctrl+f) to locate the word "chapter" or some other word or character that seems unique to chapter headings in the book.
b. To insert arbitrary chapter breaks, Use Edit/GoTo (or ctrl+g) and enter a page number about 10 to 15 pages ahead of your current position, do a skim of the area where you land to find a suitable point for a chapter break, and insert text like "Chapter ##."
c. Once the existing chapter has been found or an arbitrary break has been inserted, highlight the title text and press alt+ctrl+1 to make it a heading at level 1 . Then repeat the process throughout the book. Note that pressing alt+ctrl+1 to alt+ctrl+6 turns highlighted text into a heading at levels 1 through 6.
5. Use the caliber batch file to convert the modified rtf file back into an epub after all chapter breaks have been marked or inserted.
a. Open the caliber.bat file with the notepad or right click the file name in the Windows Explorer and select “edit.”
b. Alter the second line to read:
ebook-convert "[book name].rtf" .epub
c. Save the batch file and exit notepad.
6. Left click on the caliber.bat file in Windows Explorer to run the batch file, resulting in a conversion of the file from rtf format to an epub book.
Moving the Converted File to the PhoneNow that the DRM has been removed and the book is an ordinary ePub file, the only step left is to copy it to the phone's SD card. The usual procedure is to connect the phone to the PC with the USB cable provided, mount the SD card/turn on USB Mass Storage Mode, and copy the files from the computer to the SD card. If a reader is already installed on the phone, a directory named Books is on the root of the SD card. That is the directory where ePub files are to be copied. Once the ebook is in that folder, you are ready to enjoy your book with an accessible reader like Moon Reader+ Pro.
Trying an Alternate MethodNotice that Calibre was used for three different processes, altering the associated batch file for each specific process. Another approach is to create three batch files, one for each purpose. That is, the batch files would have names like “Amazon-epub.bat,” “amazon-rtf.bat,” and “rtf-epub.bat.”
Another simplification is to always use the same file name for every book processed. Thus, you would always use the file name “book” with the appropriate extension in each of the batch files. The following outlines such a process:
• Copy the desired book from “My Kindle Content” to SKindle/input.
• Run LZSkindle4PCv1 to remove the DRM.
• Copy the file from either SKindle\output or SKindle\Input, depending on the case, into c:\calibre.
• Change the file name to “book.azw” in the c:\calibre directory. You can edit file names in the Windows Explorer by hitting the F2 key while the file name is selected and then type a new name.
• Use the base name “book” in all subsequent processing.
• When the epub is finished, change its name from “book.epub” to reflect the content (e.g., “Margaret Mitchell, Gone With the Wind.epub”).
This modified approach lets you perform the needed processing on many books without needing to modify the batch scripts for each book.
To summarize, blind and visually impaired users can legally remove DRM from Kindle files to access the content as long as they do so for their own personal use. The actual file conversion process is easy and straight forward. The hard part is finding information on removing the DRM. It's available on the web for people without disabilities, but it's scarcer when the tool set to complete the process needs to be accessible too. It took me a good deal of research to find a tool set that works for blind people. I am sharing what I've found with other Android users to keep them from reinventing the wheel.
Now that I can access them, I'm looking forward to Kindle books. My first choice for reading material is still Bookshare, but due to the time it takes me to download from BARD (an hour or more at my download speed), my second choice will probably be Amazon via my Android.
Tool sourcesThe following are referred to in this tutorial. Hyperlinks have been included in the text for your convenience, but URLs are listed here in case you wish to keep them in your records.
Kindle for PC with Accessibility Plugin
Accessible Kindle for PC shortcuts list