Искала я вчера одну книгу (ту самую, по "Пиратам Карибского моря"), и, конечно, вместо того, чтобы спокойно купить ее на Амазоне, я пошла сложным путем: скачала PDF-версию со Scribd. Я не буду здесь писать про Scribd, это тема для отдельного астрального нытья, а сегодня я поною про PDF. Итак, PDF-ку я чинно закинула на свой Kindle, она там чинно открылась, но... разумеется, шрифт получится мелкий. И не то, чтобы очень мелкий, читать вполне можно, но глаза все равно напрягаются. Однако, PDF-ка хотя бы не скан, в ней есть текстовый слой (он даже словарем разбирается), так что я решила: раз там внутри есть текст, почему бы его не вытащить и не сделать mobi?
Ок, как будто бы нет ничего проще. Открываем PDF в Calibre (все ведь знают волшебную программу Calibre?), и конвертируем его оттуда в какой угодно формат. Для начала я попробовала сконвертить напрямую в mobi. Получилось не ахти: оказалось, что при разборе Calibre каждую строку PDF-файла превращает в отдельный абзац. Получается такая... не очень удобная стихотворная форма. Ладно. Конвертируем PDF-ку в формат htmlz. Это папочка с html-файлом (и картинками, и прочими довесками), только зазипованная. Сконвертили, разархивировали, открыли. Путем неких логических умозаключений можно понять, в каком месте надо убрать теги абзаца, чтобы получить связный текст. Это можно сделать маленьким кусочком программного кода или, в крайнем случае, наверно, автозаменой. Я просто прогнала файл PHP-скриптом.
Собираем все обратно, засовывает в Calibre, конвертим снова в mobi... и понимаем, что все это было зря, потому что с самого начала Calibre разобрал текст фигово. Я уж не знаю, что не так с этим текстовым слоем в PDF-е (может быть, попозже я исследую этот вопрос), но примерно раз в три - пять строк в тексте где-нибудь пропущена буква. Я попробовать использовать онлайн-конвертер - дело было не лучше, символы кое-где были склеены, было ясно, что читать это будет невозможно.
Сначала я думала, что на этом свои изыскания и закончу, но потом ради интереса я попробовала просто открыть PDF-ник и скопировать кусок в Word. И о чудо! Оказалось, что из браузера через буфер текст переносится абсолютно нормально, никаких пропущенных букв и уродливо склеенных символов нет. Я заподозрила, что все дело все-таки в качестве конвертера. На работе у меня есть хитрая программа для всяких вывертов с PDF, называется Nitro Pro. Я попробовала открыть мой PDF-ник в ней и перегнать в RTF, RTF оказался тяжелым, громоздким и абсолютно нечитабельным (он внутри себя оборачивал в span практически каждую отдельную букву), поэтому потом я из того же Nitro перегнала PDF-ник в обычный txt. И в txt уже почти все было хорошо, кроме того, что кое-где все еще были переносы строк в явно неподобающих местах. Это, опять же, решается скриптом.
В результате у меня получился симпатичный txt-файл с разбивкой на абзацы в правильных местах и без поломанных символов. Отправляю его в Kindle - результат не вдохновляет. Почему-то Kindle делает переносы только там, где в txt-шнике есть пустая строка. Я не хочу делать много лишних пустых строк, поэтому еще одним коротким скриптом конвертирую txt в html и добавляю абзацные теги. Открываем в браузере, смотрим. Видим на месте апострофов и некоторых специфических символов непонятные крокозябры, быстренько добавляем в header метатег с кодировкой UTF-8, открываем заново, убеждаемся, что все стало хорошо. Отправляем на Kindle - и вот оно счастье. Файл открывается нормально, абзацы - на своих местах, шрифт - родной и приятный киндловский. Конечно, есть огрехи, например, оглавление потерялось, и картинки на обложке нет. Это все можно выправить при желании, если сделать полноценный mobi, но мне и так хорошо.
Из всех сегодняшних манипуляций я вынесла две истины:
- во-первых, очень важно использовать хороший конвертер, который качественно вытащит текст из PDF-ки, иначе все остальное бессмысленно;
- во-вторых, никаких попыток сделать все одной кнопкой, только вытаскивать сырой текст и форматировать его потом заново.
Ну и еще одна приятная мысль: теперь можно посмотреть в сторону Scribd. Все книги, которые можно с него скачать (подписка стоит 10$ в месяц, книг довольно много), качаются в формате PDF. Раньше я именно поэтому даже не смотрела в его сторону. Но, как выясняется, если потратить немного времени (и еще поупражняться со скриптами, будем честными, у меня получилось все-таки не идеально правильное форматирование), то можно спокойно читать книги со Scribd на любимой читалке.
Ок, как будто бы нет ничего проще. Открываем PDF в Calibre (все ведь знают волшебную программу Calibre?), и конвертируем его оттуда в какой угодно формат. Для начала я попробовала сконвертить напрямую в mobi. Получилось не ахти: оказалось, что при разборе Calibre каждую строку PDF-файла превращает в отдельный абзац. Получается такая... не очень удобная стихотворная форма. Ладно. Конвертируем PDF-ку в формат htmlz. Это папочка с html-файлом (и картинками, и прочими довесками), только зазипованная. Сконвертили, разархивировали, открыли. Путем неких логических умозаключений можно понять, в каком месте надо убрать теги абзаца, чтобы получить связный текст. Это можно сделать маленьким кусочком программного кода или, в крайнем случае, наверно, автозаменой. Я просто прогнала файл PHP-скриптом.
Собираем все обратно, засовывает в Calibre, конвертим снова в mobi... и понимаем, что все это было зря, потому что с самого начала Calibre разобрал текст фигово. Я уж не знаю, что не так с этим текстовым слоем в PDF-е (может быть, попозже я исследую этот вопрос), но примерно раз в три - пять строк в тексте где-нибудь пропущена буква. Я попробовать использовать онлайн-конвертер - дело было не лучше, символы кое-где были склеены, было ясно, что читать это будет невозможно.
Сначала я думала, что на этом свои изыскания и закончу, но потом ради интереса я попробовала просто открыть PDF-ник и скопировать кусок в Word. И о чудо! Оказалось, что из браузера через буфер текст переносится абсолютно нормально, никаких пропущенных букв и уродливо склеенных символов нет. Я заподозрила, что все дело все-таки в качестве конвертера. На работе у меня есть хитрая программа для всяких вывертов с PDF, называется Nitro Pro. Я попробовала открыть мой PDF-ник в ней и перегнать в RTF, RTF оказался тяжелым, громоздким и абсолютно нечитабельным (он внутри себя оборачивал в span практически каждую отдельную букву), поэтому потом я из того же Nitro перегнала PDF-ник в обычный txt. И в txt уже почти все было хорошо, кроме того, что кое-где все еще были переносы строк в явно неподобающих местах. Это, опять же, решается скриптом.
В результате у меня получился симпатичный txt-файл с разбивкой на абзацы в правильных местах и без поломанных символов. Отправляю его в Kindle - результат не вдохновляет. Почему-то Kindle делает переносы только там, где в txt-шнике есть пустая строка. Я не хочу делать много лишних пустых строк, поэтому еще одним коротким скриптом конвертирую txt в html и добавляю абзацные теги. Открываем в браузере, смотрим. Видим на месте апострофов и некоторых специфических символов непонятные крокозябры, быстренько добавляем в header метатег с кодировкой UTF-8, открываем заново, убеждаемся, что все стало хорошо. Отправляем на Kindle - и вот оно счастье. Файл открывается нормально, абзацы - на своих местах, шрифт - родной и приятный киндловский. Конечно, есть огрехи, например, оглавление потерялось, и картинки на обложке нет. Это все можно выправить при желании, если сделать полноценный mobi, но мне и так хорошо.
Из всех сегодняшних манипуляций я вынесла две истины:
- во-первых, очень важно использовать хороший конвертер, который качественно вытащит текст из PDF-ки, иначе все остальное бессмысленно;
- во-вторых, никаких попыток сделать все одной кнопкой, только вытаскивать сырой текст и форматировать его потом заново.
Ну и еще одна приятная мысль: теперь можно посмотреть в сторону Scribd. Все книги, которые можно с него скачать (подписка стоит 10$ в месяц, книг довольно много), качаются в формате PDF. Раньше я именно поэтому даже не смотрела в его сторону. Но, как выясняется, если потратить немного времени (и еще поупражняться со скриптами, будем честными, у меня получилось все-таки не идеально правильное форматирование), то можно спокойно читать книги со Scribd на любимой читалке.