How to extract notes and their context from book read in iBooks.
iBooks отличная читалка для книг, и даже позволяет экспортировать сделанные при чтении отметки, но к сожалению контекст этих отметок при экспорте теряется.
Для решения этой проблемы я написал небольшой скрипт на языке Perl. Скрипт относится к категории "кустарная поделка для личных нужд" и никакие претензии к нему не принимаются.
Процедура извлечения данных из iBooks при его помощи выглядит следующим образом.
1.Подготовка: требуется скачать и установить на PC интерпретатор
ActivePerl и средство для извлечения данных из iPad архивов
iPhone Backup Extractor. Для наших целей подойдет бесплатная версия последнего, позволяющая извлекать всего два файла за раз.
2. Подключить iPad к PС и iTunes, и дождаться когда будет сделана резервная копия данных
3. Запустить
iPhone Backup Extractor, перейти в Expert режим, найти папки с файлами iBooks (BKLibrary_ и storeFiles) и отметить файлы, начинающиеся с iBooks_ и AEAnnotation_. Затем нажать кнопку Extract Selected.
4. Найти извлеченные файлы на диске и скопировать их в ту же паку, где находится скрипт.
5. Запустить скрипт с командной строки (cmd.exe).
Код скрипта здесь (его нужно распаковать, исполняемый файл имеет расширение .pl ):
iPad_dump_annotations_bybook_v9
В каталоге должно появиться много файлов c расширением HTML, каждый из которых соответствует отдельной книге. Внутри файлы структурированы в виде дерева, стволом которого являются ваши заметки к книге, а листьями - выделенные "фломастером" участки текста книги, отсортированные в порядке их создания.
PS1. Естественно, сами файлы с исходными данными можно взять не из резервной копии, а напрямую с iPad, например, при помощи программы DiskAid.
PS2. Скрипт проверен для iBooks 2.5, для более поздних версий программа, он не проверялся.
PS3. Скрипт работает только для книг, не защищенных DRM.