
В ожидании доставки своего Kindle DX Graphite, решил прикрутить GUI к замечательной консольной утилите fb2pdf от viktorz.
Все это собрано в один bundle под операционную систему Mac OS X, работает по принципу Drag&Drop. Профиль заточен под Sony PRS 500, 505, 600, 650, 700, кто хочет его поменять, найдет stylesheet.json в ресурсах bundle.
Перетягиваем файл или папку в окно программы и получаем результат:
Профиль легко можно переделать под любую электронную книжку. Результат останется только закинуть на устройство и читать, читать, читать…
Скачать (обновлено: 20.04.2011, ver. 20110306)
Стили отдельно, Modified Default Style и для Kindle DX:
Пользуйтесь на здоровье.



{ Комментариев - 59 … читайте их ниже или добавьте свой комментарий }
Браво! Это полезно и замечательно!
Но, дружище, пожалуйста, сварганьте что-нибудь подобное и для конвертации fb2 в lrf и mobi.
Calibre уж больно громоздка – хочется чего-нибудь лёгкого. :)
@BeardMan: Да я бы с удовольствием, поверьте, но ведь нет ничего нативного под Mac или хотя бы мультиплатформенного и при этом компактного. :( fb2lrf через wine — не вариант, красивого решения у меня не получилось найти. Подобный минималистичный конвертер в MOBI на основе того же Calibre — думаю, возможен, но он потянет добрую часть самого Calibre, так как фреймворки и библиотеки внутри него занимают не менее 90% программы. Снова овчинка не стоит выделки.
Поэтому, пока, я пас. Быть может у меня появится стимул по приходу моего Kindle DX Graphite. Первый блин оказался комом, продавец с eBay выслал посылку через UPS вместо USPS, ее завернули в России, как и следовало ожидать. Повторно через USPS он так и не отправил, пришлось открыть dispute, который PayPal сразу же перевела в claim, на него не один я пожаловался. Сегодня получил refund своих денег, продавца заблокировали, за месяц собралось 120 негативных отзывов на него. Тогда как 7 лет до этого он нормально торговал на eBay, что-то его переклинило, похоже, даже на письма не отвечал, почти. Так что, поделом. Жаль потраченного времени. В субботу на прошлой недели решил заказать напрямую у Amazon и переслать через shipito, сегодня посылка должна прибыть на их склад, после чего направится ко мне. Ждем. :)
BeardMan, неужели PDF не достаточно? ;) Кстати, Вы взяли Kindle DX или Kindle DX Graphite? Каковы впечатления? Каким способом покупали?
@ZeroChaos:
По mobi я какое-то рассуждение почитал на форуме – предлагали там сделать короткие баты (для перекодировки файлов под виндовс). Наскольку помню, в Calibre эти модули (по-отдельности) можно задействовать в командной строке и под макосью. Хотя, могу и ошибаться. (Может и там нужен пресловутый wine.) В любом случае стоит и Вам посмотреть, когда появиться личный интерес. :)
Для киндла одних pdf пока явно недостаточно. В отсутствии у киндла навигации по pdf-файлу, даже если она в нём (файле) есть, как-то тоскливо. Привычка к Sony. :)
Брал я графит, в Москве. Вывесил объявление на форуме, в разделе «куплю», и человек откликнулся.
Доволен очень – много у меня гугловских книг, старых, в сканах большого формата – теперь стало можно читать.
Надеюсь, у Вас там всё срастётся и Ваш киндл прибудет к Вам в этот раз успешно.
@BeardMan: Так ведь я уже посмотрел как у Calibre работает консольный конвертер, ему для работы нужны фреймворки и библиотеки, находящиеся внутри бандла calibre.app, которые и занимают большую часть объема программы. Вычленить ebook-convert не получится, слишком много зависимостей, поэтому придется тянуть большинство из них. Мало того, у меня под макосью возникли проблемы с конвертацией в том случае, если название книги (или папки) содержит кириллицу. Не могли бы у себя проверить?
В консоли:
Wine для Calibre конечно же не нужен, он написан на питоне, а GUI на PyQt4. Да, не могли бы скинуть ссылку на то обсуждение? Интересно о чем там идет речь.
То, что нет навигации — конечно плохо, но для худлита совершенно не критично. А вот для технической литературы, да, пожалуй.
@ZeroChaos:
Начало тут http://www.the-ebook.org/forum/viewtopic.php?p=456685#456685
Проверю обязательно. Самому интересно. :)
@ZeroChaos: Да, если в названии файла книги (или папки с файлом книги есть кириллические символы – конвертация не идёт. Название книги (в метаданных) роли не играет.
Но это всё – мелочи, по-моему. В нерусифицированный киндл (кроме G3) книги с русскими именами файлов и не кладут. :)
@BeardMan: Ну, если для Вас это не критично, то GUI по типу как к fb2pdf прикрутить не проблема. Нужно?
По мне так, не айс, что с кириллицей проблемы. Как бы победить? Интересно, под виндой такие же проблемы с консольным конвертером?
@ZeroChaos: Я бы не отказался. :)
Хотя совершено с Вами согласен по поводу кирилицы. Про видовс-проблемы, увы, ничего пока не знаю. Можно будет завтра покрутить немного – комп с ХиПи найду.
А на мобилриде, в ветке о Calibre, что-нибудь подобное не обсуждается?
Прошлая ссылка зависла с надписью:
Ваш комментарий ожидает проверки модератором.
Вы её видите?
@BeardMan: Забирайте: http://zerolab.net/zc/fb2mobi.dmg (обновлено 20.09.2010 в 14:49)
1. Установить calibre.app.
2. Установить fb2mobi.app.
Если будут вопросы, задавайте. ;) Для более оперативного общения — мой Jabber / Google Talk: root@msilab.net
На mobileread нет, не смотрел. По поводу ссылки, все нормально, все посты с внешними ссылками на премодерации. ;)
@ZeroChaos: Первый вариант (вчерашний) работает, второй – нет. :)
Если приходиться полностью «оставлять» Calibre, не проще было бы просто на неё как-нибудь «ссылаться» в программе, учитывая, например, её постоянное местоположение в папке программ?
Проверил виндовс-версию – русские имена файлов в консоли кушает успешно. А вот русские имена для папок проверить не смог – видимо я тупой, так как разобраться с ними в командной строке виндовс не сумел. :)
@BeardMan: Хорошо, сделаю ссылкой. Второй вариант не работает наверное только на файлах/папках с пробелами? ;) Мой косяк, исправлю.
По поводу кириллицы, может быть перед конвертацией делать транслитерацию?
@ZeroChaos: Ага. ;)
Можно и транслитерацию, наверное, для «искоренения проблемы». Но тогда и в завершении процесса конвертации надо её опять выполнять – «вертать всё взад». :) Стоит ли?
Поправил то, что просили. Работает пакетная конвертация. По поводу транслитерации, не знаю — надо или нет. По-хорошему, нужно трясти разработчика, чтобы под макосью исправил проблемы с кириллицей. ;)
Набросал транслитерацию и возврат к первоначальному состоянию после конвертации на bash:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
find "$@" -type f | while read FILENAME; do
EXT="`echo $FILENAME | awk -F. '{ print $NF }' | tr '[:upper:]' '[:lower:]'`"
if [[ ("$EXT" == "fb2") || ("$EXT" == "zip") ]]; then
# Транслитеририруем имена файлов.
TRF=`echo $FILENAME | sed "y/абвгдезийклмнопрстуфхцы/abvgdezijklmnoprstufxcy/"`
TRF=`echo $TRF | sed "y/АБВГДЕЗИЙКЛМНОПРСТУФХЦЫ/ABVGDEZIJKLMNOPRSTUFXCY/"`
TRF=${TRF//ё/jo};
TRF=${TRF//Ё/Jo};
TRF=${TRF//ж/zh};
TRF=${TRF//Ж/Zh};
TRF=${TRF//ч/ch};
TRF=${TRF//Ч/Ch};
TRF=${TRF//ш/sh};
TRF=${TRF//Ш/Sh};
TRF=${TRF//щ/sh\'};
TRF=${TRF//Щ/Sh\'};
TRF=${TRF//ъ/\`};
TRF=${TRF//ь/\'};
TRF=${TRF//э/je};
TRF=${TRF//Э/Je};
TRF=${TRF//ю/ju};
TRF=${TRF//Ю/Ju};
TRF=${TRF//я/ja};
TRF=${TRF//Я/Ja};
TRF=${TRF//\`};
TRF=${TRF//\'};
mv -v "$FILENAME" "$TRF"
"/Applications/calibre.app/Contents/MacOS/ebook-convert" "$TRF" "$TRF.mobi" --output-profile=kindle_dx
# Возвращаем первоначальные значения именам файлов. Закомментировать, если не нужно.
mv -v "$TRF" "$FILENAME"
mv -v "$TRF.mobi" "$FILENAME.mobi"
fi
done
Сохранить в fb2mobi.sh, дать права на исполнение:
Использовать:
На вход подавать папки только на латинице, работает пакетная обработка. Но это так, чисто поиграться, в fb2mobi.app встраивать нет смысла, BeardMan, нужно отписать Kovid Goyal, чтобы поправил косяк в консольной версии под Mac OS X. Если есть заинтересованность, конечно. :)
http://zerolab.net/zc/fb2txt.dmg, до кучи. ;) На основе работы от pshmarev.
Спасибо!
Столько нового после моих выходных. ;)
Нашёл ещё косяк – теперь не работает конвертация зазипованных fb2-файлов, а раньше работала. :)
Текстовые файлы нельзя-ли получать на выходе сразу не в виндовс-кодировке, а в UTF-8? Для мака это было-бы логичней и проще для дальнейшего использования.
В связи с этим не открываются-ли возможности обойтись без Calibre? Изготовить из fb2 –> html и можно использовать KindleGen_Mac с амазоновского сайта. (Я им поигрался – Legend Macker делает зип-архив для последующей конвертации в формат для киндла – тренировался на нём.)
Насчёт обращения к разработчику Calibre Вы безусловно правы – это самый лучший вариант. Но у меня с английской «речью» могут быть проблемы :) – владею «неполноценно», в одну сторону – то есть кое-как читаю, но не говорю и, соответственно, не пишу. (Издержки возраста , образования и работы.)
@BeardMan: Поправил, перекачайте.
Я бы с удовольствием поправил на UTF-8, да я Java не знаю, если честно. Разве что для фана попробовать. :) Исходники из svn слил. Посмотрю на досуге. ;)
Возможность то конечно есть, всегда можно написать что-то свое, но я свой конвертер писать не планирую, для этого нужно много свободного времени.
Хорошо, с Kovid Goyal постараюсь связаться и описать проблему, не забыть бы только. :)
@ZeroChaos: Спасибо, всё вроде в пордке.
Как я понял, что если в script отредактировать строку, изменив «output-profile=kindle_dx» на «output-profile=kindle», мы получим файлы для шестидюймовых киндлов. Или там для этого что-то сложнее надо делать?
@BeardMan: Все верно, я специально взаимодейтвие через shell скрипт сделал, чтобы любой легко мог вносить коррективы и задавать параметры конвертации без необходимости редактировать код. ;)
@BeardMan: Забирайте fb2txt UTF-8 версию: http://zerolab.net/zc/fb2txt-utf-8.dmg
Заодно поправил форматирование, убрав добавление лишних пустых строк, пробелов в начале каждого параграфа и вставки «[место иллюстрации]» вместо картинок. По-моему, стало лучше. :)
Удачи!
@ZeroChaos: Вы – тлант! :)
Просто здорово, что под маком появилась такая прекрасная штучка. Теперь без проблем можно выудить (и использовать как заблагорассудиться) текст из fb2-исходников, которых «много».
Отлично, что убраны лишние пустые строки и пробелы – с ними всегда лишняя возня (просто, но возня явно лишняя). Правда вот вставки об иллюстрациях я бы, на свой вкус, не выбрасывал, так как, с одной стороны, они не так часто встречаются (fb2 с иллюстрациями немного), а, с другой стороны, могут быть иногда кому-то полезны, да и, если что, бороться с ними потом легко. Но это уж, как говориться, «на усмотрение автора».
Для полного «мак-счастья» теперь Вам «осталось» сделать что-нибудь подобное для конвертации в rtf, с сохранением картинок на их местах или, как вариант, форматирования по шаблонам, принятым в Legend Maker – если не видели эту программу, могу её рекомендовать – забавная.
Ну и, конечно, для lrf, может быть также, как и для mobi, через Calibre. :)
@BeardMan: Скомпилить для Вас с фичей «[место иллюстрации]»? :)
Вы можете конвертировать в любой формат, который поддерживается Calibre, просто нужно изменить профиль
в script, к примеру на
, получите свой lrf. ;)
@ZeroChaos: Если не трудно – скомпилируйте пожалуйста. :)
Мне лично этот вариант представляется более интересным.
Насчёт вывода для Sony я примерно догадывался, но теперь вполне спокоен за успех. ;)
А у Вас пока не появилось желания эти свои наработки опубликовать/обнародовать и на форуме the-ebook?
Мак-юзеров там не много, но некоторые из них обрадуются точно, так как я уверен, что не всем удобно пользоваться Calibre в чистом виде (или двухпанельным менеджером для lrf со всеми его заморочками).
@BeardMan: Особого смысла публиковать там не вижу, тем более учитывая проблему с кириллицей на входе. Если есть желание, можете вынести ссылки в свой топик для мак-пользователей в разделе Sony Reader, я не против.
fb2txt UTF-8 «с картинками»: http://zerolab.net/zc/fb2txt-utf-8-with-img.dmg
@ZeroChaos: Хорошо. Попробую придумать и тиснуть небольшую информацию для заинтересованных.
Спасибо ещё раз. :)
Пока интересовался текущим состоянием проблемы конвертации в lrf, а там новости – г-н Шаронов «реанимирован», наткнулся на это вот:
http://manpages.ubuntu.com/manpages/karmic/en/man1/fb22lrf.1.html
Как понимаю, это относилось к старым версиям Calibre. Но и в новых работает этот же конвертор. Может чем пригодиться Вам.
@BeardMan: Не, не пригодится, это описание модуля fb22lrf из бинарного пакета Calibre (calibre_0.5.14+dfsg-1_all) для Ubuntu. Толку от него? :)
@ZeroChaos: Имел в виду, что такой же бинарник, видимо, есть и в мак-версии.
@BeardMan: Конечно есть, но я еще раз повторяю, этот бинарник тянет за собой много зависимостей, его нельзя вычленить из дистрибутива Calible, для его работы требуются фреймворки и библиотеки, находящиеся в дистрибутиве и занимающие почти весь его объем. Раньше это было много отдельных модулей fb22lrf, etc., теперь он один — ebook-convert. Но ко всему этому, в нагрузку, по-любому нужны фреймворки и библиотеки. Не знаю как еще проще объяснить. ;)
@ZeroChaos: Да-да, я уже посмотрел – и в прежних версиях было примерно тоже самое.
BeardMan
Я открыл тикет по проблеме с кириллицей:
http://bugs.calibre-ebook.com/ticket/6964
Ждем результатов. ;)
Ура! Курьер привез мне мой Kindle DX Graphite прямо на работу. Вещь, скажу я Вам! Kindle DX Graphite — это нечто! E-Ink Pearl хорош, контрастность на высоте. Закачали с коллегами техническую литературу на устройство в pdf формате, читать не хуже чем с бумажной книги. Вскоре обзор от меня.
Сделал Jailbreak, зашил русские фонты. Пару дней поиграюсь, а там, надеюсь, и статью напишу. Сколько эмоций! 9.7″ — это Вам не хухры-мухры!
Итого за 13 дней добрался до меня с USA, это если не брать в расчет первую попытку, предпринятую еще 6 августа.
@ZeroChaos: Поздравляю!
@BeardMan: Спасибо! :)
Kovid Goyal не торопится реагировать на тикет, к сожалению.
Ув. ZeroChaos!
Прошу помочь разобраться с интерфейсом.
У меня iMac, я установил fb2pdf, делаю drag&drop fb2 файлов, а в итоге получаю файл с расширением .fb2.pdf размером Zero bytes! А чаще всего вообще ничего не нахожу.
Что я могу делать не так, как надо?
@vira: Быть может fb2 файл невалидный? Переключите вывод лога в файл, в файле ‘fb2pdf.app/Contents/Resources/script’ уберите в конце флаг ‘—log false’ и расскажите здесь о том, что будет написано в созданном после конвертации log-файле.
@ZeroChaos
log-файл:
Loaded binary #mb892_18_09.jpg (image/jpeg)
Hyphenation is on
Language of the FB2: ru
Hyphenation language is: ru
Adding author: Марк Твен
Adding title: Приключения Тома Сойера
Loading image at #mb892_18_09.jpg
Exception in thread «main» java.lang.NoSuchMethodError: java.lang.String.isEmpty()Z
at org.trivee.fb2pdf.FB2toPDF.getImage(Unknown Source)
at org.trivee.fb2pdf.FB2toPDF.makeCoverPage(Unknown Source)
at org.trivee.fb2pdf.FB2toPDF.processDescription(Unknown Source)
at org.trivee.fb2pdf.FB2toPDF.run(Unknown Source)
at org.trivee.fb2pdf.FB2toPDF.translate(Unknown Source)
at org.trivee.fb2pdf.CLIDriver.translate(Unknown Source)
at org.trivee.fb2pdf.CLIDriver.main(Unknown Source)
@vira: Могу я Вас попросить выложить файл, на котором вываливается эта ошибка? Но скорее всего я тут бессилен, за помощью придется обращаться к разработчику консольного конвертера, viktorz, GUI тут не причем совершенно. Сам конвертер, обновления к нему и обсуждение находятся в данном топике.
Да, какая у Вас версия операционной системы, может у Вас Java версии 1.5 стоит? Для работы нужна 1.6.
Дело в том, что я не могу сконвертировать ни одного файла — файлы тут не причём. Может быть кроме fb2pdf должно быть ещё что-то установленно?
А как выложить файл?
mac os x 10.5.8
а версию Java где смотреть?
@vira: Откройте терминал, введите:
Выполните.
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_24-b02-357-9M3165)
Java HotSpot(TM) Client VM (build 1.5.0_24-149, mixed mode, sharing)
@vira: Тогда все ясно. :) Давно запускали Software Update? ;)
Java for Mac OS X 10.5 Update 7
Update у меня стоял, я его ещё раз запустил только что, но версия Javа не изменилась.
Вы сказали, что нужна версия Java 1.6 — она наверное только в Leopard Snow. А у Вас Leopard Snow?
Да, у меня Snow Leopard. Но я вспомнил что нужно сделать в Вашем случае, запустите /Applications/Utilities/Java Preferences.app и поставьте по умолчанию версию 1.6, должно помочь, у Вас в системе установлены обе версии. Удачи!
Стало лучше — java теперь работает, но я не могу найти файл PDF!!! Помогите!!!
Loaded binary #mb892_18_09.jpg (image/jpeg)
Hyphenation is on
Language of the FB2: ru
Hyphenation language is: ru
Adding author: Марк Твен
Adding title: Приключения Тома Сойера
Loading image at #mb892_18_09.jpg
Adding bookmark: Предисловие
Adding A NAME=section0
Adding bookmark: Глава I
…
Adding A NAME=section35
Adding Action LocalGoTo FbAutId_11
Adding bookmark: Заключение
Adding A NAME=section36
Adding A NAME=FbAutId_1
Adding Action LocalGoTo FbAutId_1_backlink
…
Adding A NAME=FbAutId_11
Adding Action LocalGoTo FbAutId_11_backlink
@vira: Рядом с исходным файлом будет лежать. ;) Судя по логу, программа отработала без ошибок.
нету!! может надо logfile отключить?
@vira: мистика прямо какая-то! Должен быть. Рядом с исходной книгой появляется только log-файл? У меня, к сожалению, нет возможности посмотреть на Leopard-е.
ЗАРАБОТАЛО, спасибо большое.
Итоги для таких же как я чайников:
1. Включили logfile (удалил в -logfile false в конце файла fb2pdf.app/Contents/Resources/script);
2. Посмотрели logfile и поняли, что java не работает;
3. посмотрели весию java открыли терминал, ввели:
java -version (стояла версия 1.5)
4. запустил /Applications/Utilities/Java Preferences.app и поставил по умолчанию версию 1.6
5. java заработала, но надо обязательно вернуть -logfile false (см. 1)!!!! иначе файл .PDF не появлялся!!!
@vira: Могу Вас уверить, флаг ‘–log false’ никак не мог ни на что повлиять. В чем-то другом был косяк, по всей видимости.
проверил ещё раз, если стоит НЕ флаг -log false — то я не нахожу файла .pdf, только log.
программой ОЧЕНЬ доволен, спасибо ещё раз!!!! На Kindle 3 просто прелесть какие профессионально оформленные книжки получаются!!!!
Я однако не понял (слишком давно был программистом) — как применить стиль Kindle DX к GUI Drag & Drop версии в Mac OS X?
@Роман: Замените ‘stylesheet.json’ в папке ‘fb2pdf.app/Contents/Resources/data’ на тот, что в папке стиля для Kindle DX.
Если вопрос подразумевал то, как зайти в bundle ‘fb2pdf.app’, то все очень просто, щелкните на нем правой кнопкой мыши и выберите в контекстном меню ‘Показать содержимое пакета’.
Удачи!
Спасибо!
Все книги конвертируются и выглядят прекрасно!
Попробую работать со стилями (м.б. буквы чуть меньше) с помощью неофициальной документации: http://s3.amazonaws.com/viktorz/fb2pdf/fb2pdf_doc_ru.html
BeardMan, у меня хорошая новость, проблема с кириллицей в calibre решена. ;)
@ZeroChaos:
Надо же – он это всё-таки сделал! :)
А я уже и ждать перестал. ;)
Оставить комментарий