Конвертация FB2 в EPUB на ридере (для программистов)
Goto page 1, 2, 3 ... 9, 10, 11  Next
 
Libroom Forum IndexSony Reader
AuthorMessage

viktorz
Член клуба The eBook

Член клуба The eBook



Joined: 22 Sep 2007
Posts: 3209


Location: San Jose, CA

Posted: 23.01.2010 01:28    

А вот интересно (извиняюсь, если уже спрашивали)...
Возможно ли запускать из PRS+ внешние программы? Скажем, собрать под ридер java-машину, положить ее на карточку или во внутреннюю память, и запускать java-программы из PRS+? Например, дать возможность "открывать" fb2 книгу путем запуска конвертера в ePub (epubgen на java) и последующего открытия ePub-результата.

UPD 2010-11-24
Быстрый переход на актуальную часть топика:
libroom.net/viewtopic.php?p=522095#522095

UPD 2010-11-29
Быстрый переход на еще более актуальную тему:
libroom.net/viewtopic.php?t=16806
_________________
Nothing Is Ever Easy fb2pdf


Last edited by viktorz on 30.11.2010 10:23; edited 4 times in total
 
View user's profile ^

kartu
Developer

Developer

Donate

Joined: 23 Nov 2007
Posts: 2111



Posted: 23.01.2010 03:42    

viktorz
Возможно, причем еще со времен прошивальщика от игорска.
Есть ли под нормальная ява машина под монтависту линукс, отдельный вопрос.
_________________
Папки, игры, fb2, история книг для 505/300/600/x50
 
View user's profile ^

viktorz
Член клуба The eBook

Член клуба The eBook



Joined: 22 Sep 2007
Posts: 3209


Location: San Jose, CA

Posted: 23.01.2010 04:04    

Что-то такое?
http://java.sun.com/javase/embedded/system_requirements.jsp
_________________
Nothing Is Ever Easy fb2pdf
 
View user's profile ^

boroda
Developer

Developer

Donate

Joined: 03 Jul 2003
Posts: 6203


Location: США

Posted: 23.01.2010 04:58    

Поскольку в 505 ядро 2.4.17, с ней эти виртуальные машины вроде как несовместимы.

А вот для PRS-900 это возможно и подошло бы. Вопрос в том, если воспользоваться headless машиной, можно ли на ней запустить epubgen?
 
View user's profile ^

viktorz
Член клуба The eBook

Член клуба The eBook



Joined: 22 Sep 2007
Posts: 3209


Location: San Jose, CA

Posted: 23.01.2010 05:24    

Если смущает UI, то его оторвать не проблема, собственно конвертация состоится и без UI:

Code:
java -cp epubgen-0.5.0.jar com.adobe.dp.epub.conv.CLDriver test.fb2.zip

_________________
Nothing Is Ever Easy fb2pdf
 
View user's profile ^

boroda
Developer

Developer

Donate

Joined: 03 Jul 2003
Posts: 6203


Location: США

Posted: 23.01.2010 05:29    

Pопробовал fb2epub Соротокина на 900. Вроде работает!

Но шрифтов, чтобы их внедрять, на ридере нет (или не находит), посему шрифты не внедряет. Значит, чтобы этим пользоваться, нужно ставить на ридер дефолтные шрифты (т.е. хак, который направляет поиск дефолтного CSS в доступную йузерам директорию, и указание в нем на шрифты, которых понадобится целый набор - regular, bold, italic, bolditalic).

Конвертирует весьма споро. Русские буквы в названиях файлов, однако, не берет.

Posted after 21 minutes 52 seconds:

Однако, java приходит с офигительным количеством всевозможных файлов, которые, находясь в юзер-доступной директории /Data существенно замедляют сканирование. К тому же добавляют в список книг и картинок какие-то документы. В общем, все это нужно было бы запихнуть в какой-то другой раздел, который не сканируется. В какой - не ясно, все разделы более-менее заняты, нигде нет свободных 38 Мб.
 
View user's profile ^

viktorz
Член клуба The eBook

Член клуба The eBook



Joined: 22 Sep 2007
Posts: 3209


Location: San Jose, CA

Posted: 23.01.2010 06:15    

boroda wrote:

Но шрифтов, чтобы их внедрять, на ридере нет (или не находит), посему шрифты не внедряет


Quote:
For font embedding to work, the converter must be able to find the fonts which are used in the document. Since converter is written in Java, it has limited knowledge of the system default font location. It looks in C:\windows\fonts and /Library/Fonts which should take care of most Windows and Mac computers. If your fonts are installed in a different location, you need to manually drag-n-drop them into "Resources" tab.


Вообще, поиск шрифтов можно и подправить, как надо, если это единственная проблема

Posted after 6 minutes 15 seconds:

boroda wrote:
Однако, java приходит с офигительным количеством всевозможных файлов, которые, находясь в юзер-доступной директории /Data существенно замедляют сканирование. К тому же добавляют в список книг и картинок какие-то документы.

Есть такое подозрение, не все они нужны, мягко говоря. Может, можно лишнее поубирать аккуратненько до приемлемого уровня

Posted after 6 minutes 13 seconds:

Конвертеру можно подсунуть свой css, в котором пути к шрифтам можно, наверное, прописать:
Code:
java -cp epubgen-0.5.0.jar com.adobe.dp.epub.conv.CLDriver -embedFonts no -resource style.css test.fb2.zip


Posted after 2 hours 13 minutes 53 seconds:

Или же можно ему подсунуть шрифт для встраивания:
Code:
java -cp epubgen-0.5.0.jar com.adobe.dp.epub.conv.CLDriver -resource style.css -resource C:\fonts\DroidSans.ttf test.fb2.zip

_________________
Nothing Is Ever Easy fb2pdf
 
View user's profile ^

boroda
Developer

Developer

Donate

Joined: 03 Jul 2003
Posts: 6203


Location: США

Posted: 23.01.2010 09:16    

Нет, epubget заводиться не хочет:
Code:
Exception in thread "main" java.lang.NoClassDefFoundError: com/adobe/dp/epub/conv/CLDriver
Caused by: java.lang.ClassNotFoundException: com.adobe.dp.epub.conv.CLDriver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: com.adobe.dp.epub.conv.CLDriver.  Program will exit.


fb2epub работает, epubgen нет.
 
View user's profile ^

viktorz
Член клуба The eBook

Член клуба The eBook



Joined: 22 Sep 2007
Posts: 3209


Location: San Jose, CA

Posted: 23.01.2010 09:25    

это под линуксом? может, там с путями по другому, типа надо сказать "java -cp ./epubgen-0.5.0.jar ..." или что-то в этом роде? Все команды, приведенные мной ранее, работают под виндовз

Posted after 7 minutes 31 seconds:

ну или же можно залезть внутрь epubgen-0.5.0.jar и в файле \META-INF\MANIFEST.MF прописать
Code:
Main-Class: com.adobe.dp.epub.conv.CLDriver
вместо оригинального
Code:
Main-Class: com.adobe.dp.epub.conv.GUIDriver
и тогда будет запускаться без "-cp":
Code:
java -jar epubgen-0.5.0.jar test.fb2.zip


Posted after 8 minutes 17 seconds:

Между прочим, может, попросить модератора Wink вынести последние посты в отдельную тему, дабы не засорять эту?
_________________
Nothing Is Ever Easy fb2pdf


Last edited by viktorz on 23.01.2010 10:38; edited 1 time in total
 
View user's profile ^

boroda
Developer

Developer

Donate

Joined: 03 Jul 2003
Posts: 6203


Location: США

Posted: 23.01.2010 10:10    

viktorz wrote:
это под линуксом?

Ну, на самом сони ридере, так что да, под линуксом.

Я на самом деле в джаве очень слабенько понимаю, но с путями, кажется, все в порядке. Может быть дело в том, что в headless пакете просто вообще нет никаких графических классов, поэтому ничего и не находится? fb2epub ведь работает окей.

Впрочем, и с этим теоретически можно жить, если использовать хак, позволяющий делать свой дефолтный style sheet. Что в свою очередь дает возможность в качестве шрифтов по умолчанию запускать системные. Они, правда, получаются без италик и болд, так что не очень красиво, но жить можно. Или свой набор шрифтов запихнуть на ридер....

Кстати, сей известный хак весьма полезен для любителей скачивать готовые EPUB'ы (без встроенных шрифтов). Так что я его засунул в следующий релиз прошивки для 900.
 
View user's profile ^

viktorz
Член клуба The eBook

Член клуба The eBook



Joined: 22 Sep 2007
Posts: 3209


Location: San Jose, CA

Posted: 23.01.2010 10:27    

boroda wrote:
Может быть дело в том, что в headless пакете просто вообще нет никаких графических классов, поэтому ничего и не находится? fb2epub ведь работает окей.


Нет, то, что не находится, лежит прямо в самом jar.
При запуске надо джаве сказать, где его искать параметром "-cp". Либо, как сделано в fb2epub, прописать в epubgen-0.5.0.jar\META-INF\MANIFEST.MF и запускать с параметром "-jar". fb2epub работает, так и запускаете же Вы его по-другому, так? Как выглядит команда?

Posted after 24 minutes 41 seconds:

Попробовал на всякий случай в линуксе (настольном), убедился, что команда выглядит точно так же, как и в виндовз:



Posted after 6 minutes 2 seconds:

Но если запускаем из другой директории (не там, где epubgen-0.5.0.jar), то, естественно, пути должны быть соответствующие:


_________________
Nothing Is Ever Easy fb2pdf
 
View user's profile ^

kartu
Developer

Developer

Donate

Joined: 23 Nov 2007
Posts: 2111



Posted: 23.01.2010 12:03    

Имхо, 38мб для конвертации из простого формата, это из пушки по воробьям.
Кстати нет ли подобных конвертеров в лрф? (с открытыми сорсами)
_________________
Папки, игры, fb2, история книг для 505/300/600/x50
 
View user's profile ^

viktorz
Член клуба The eBook

Член клуба The eBook



Joined: 22 Sep 2007
Posts: 3209


Location: San Jose, CA

Posted: 23.01.2010 13:03    

kartu wrote:
Имхо, 38мб для конвертации из простого формата, это из пушки по воробьям.


Ну эти 38мб джавы можно и еще для чего-нибудь задействовать, не только для fb2 -> epub. Вон, fb2pdf еще есть, для тех, кому без переносов жизнь не мила, да и epubgen обсуждаемый-то умеет конвертить не только fb2, но и вордовский docx и rtf. Может, найдутся и еще полезные java программки такого же рода
_________________
Nothing Is Ever Easy fb2pdf
 
View user's profile ^

boroda
Developer

Developer

Donate

Joined: 03 Jul 2003
Posts: 6203


Location: США

Posted: 23.01.2010 18:54    

viktorz wrote:
Нет, то, что не находится, лежит прямо в самом jar.
При запуске надо джаве сказать, где его искать параметром "-cp". Либо, как сделано в fb2epub, прописать в epubgen-0.5.0.jar\META-INF\MANIFEST.MF и запускать с параметром "-jar". fb2epub работает, так и запускаете же Вы его по-другому, так? Как выглядит команда?

Да я вроде все так и делал. Но очевидно не совсем так. В час ночи голова не варила. Вот сейчас сделал именно так, и все заработало. Embarassed

Code:
[root (ttygserial)]# java -cp ./test_epub/epubgen-0.5.0.jar com.adobe.dp.epub.conv.CLDriver -embedFonts no -resource epub/userStyle.css -targetDir ./epub_new test_epub/*.fb2 test_epub/*.zip
Converting test_epub/American Gods.fb2...
Written ./epub_new/American_Gods.epub
Converting test_epub/Asimov Isaac_(f03) Second Foundation.fb2...
Written ./epub_new/Second_Foundation.epub
Converting test_epub/Mezentsev_Entsiklopediya_chudes_1_Obyichnoe_v_neobyichnom.11 7553.fb2...
Written ./epub_new/Obychnoe_v_neobychnom.epub
Converting test_epub/mary_poppins.fb2...
Written ./epub_new/Meri_Poppins_s_Vishnevoj_ulitsy.epub
Converting test_epub/Follett Ken_World Without End.fb2.zip...
Written ./epub_new/World_Without_End.epub
Converting test_epub/Kunin_Mika_i_Alfred.67443.fb2.zip...
Written ./epub_new/Mika_i_Al'fred.epub
Converting test_epub/Rubina_Na_solnechnoy_storone_ulitsyi.fb2.zip...
Written ./epub_new/Na_solnechnoj_storone_ulitsy.epub
No service to convert test_epub/Turgenev_Ottsyi_i_deti.151517.rtf.zip


Posted after 25 minutes 49 seconds:

Кстати, русские имена файлов (в /Data) ни та, ни другая программа не понимет совсем. Более того, epubgen, наткнувшись на одно из них, просто само-убивается. fb2epub, увидев в директории файл с русским именем, ругается, но продолжает работать.

Posted after 7 minutes 29 seconds:

kartu wrote:
38мб для конвертации из простого формата, это из пушки по воробьям.

Как правильно заметил viktorz, теоретически, джаву можно пользовать не только для конвертации FB2, но и для других приложений.

Впрочем, было бы неплохо, если бы существовала возможность конвертировать java-code в native, которая не требовала бы включения полного пакета java или целых библиотек (потому что конвертаторы питона, например, генерируют из крошечного скрипта EXE файл неслабых размеров).

Сами по себе программы конвертации очень небольшие.
 
View user's profile ^

viktorz
Член клуба The eBook

Член клуба The eBook



Joined: 22 Sep 2007
Posts: 3209


Location: San Jose, CA

Posted: 24.01.2010 00:32    

boroda wrote:

Впрочем, было бы неплохо, если бы существовала возможность конвертировать java-code в native, которая не требовала бы включения полного пакета java или целых библиотек


Ну есть GCJ. Подозреваю, что в смысле размеров runtime оно не на много лучше.

http://gcc.gnu.org/java/

Posted after 38 minutes 59 seconds:

boroda wrote:

Кстати, русские имена файлов (в /Data) ни та, ни другая программа не понимет совсем. Более того, epubgen, наткнувшись на одно из них, просто само-убивается.

Поправимо, полагаю. Что, совсем без сообщений об ошибках помирает?

Вообще, я так понимаю, epubgen - просто более свежая версия fb2epub, так что все, что может fb2epub, может и epubgen, плюс еще что-то, ну а новые ошибки можно и исправить...
_________________
Nothing Is Ever Easy fb2pdf
 
View user's profile ^

boroda
Developer

Developer

Donate

Joined: 03 Jul 2003
Posts: 6203


Location: США

Posted: 24.01.2010 03:31    

viktorz wrote:
Что, совсем без сообщений об ошибках помирает?

Говорит, не нашла файл. И печатает его имя кучей знаков вопроса.

Кстати, JRE там, похоже, evaluation version. Я по глупости в интерактивном режиме решил установить hardware clock в текущее время (а он показывал 1/1/1970), и JRE перестала запускаться (срок истек). Пришлось откатить обратно в семидесятые. Smile
 
View user's profile ^

viktorz
Член клуба The eBook

Член клуба The eBook



Joined: 22 Sep 2007
Posts: 3209


Location: San Jose, CA

Posted: 24.01.2010 06:26    

boroda
А Вы можете определить по описанию, можно ли вот это построить для ридера?
http://jamvm.sourceforge.net/
_________________
Nothing Is Ever Easy fb2pdf
 
View user's profile ^

boroda
Developer

Developer

Donate

Joined: 03 Jul 2003
Posts: 6203


Location: США

Posted: 24.01.2010 08:32    

viktorz wrote:
boroda
А Вы можете определить по описанию, можно ли вот это построить для ридера?
http://jamvm.sourceforge.net/

Попробую собрать это на Sheeva Plug, и если получится, скопировать на ридер. Но не сегодня. Может быть в понедельник.
 
View user's profile ^

viktorz
Член клуба The eBook

Член клуба The eBook



Joined: 22 Sep 2007
Posts: 3209


Location: San Jose, CA

Posted: 24.01.2010 11:56    

Я попробовал собрать эту JamVM на настольной Убунте. Получилось.
Всего-то полтора часа плясок с бубном, какая ерунда... впрочем, полагаю, опытный линуксоид справился бы быстрее. А для неопытных линуксоидов в репозитории Убунты есть бинарный пакет - но предпоследней версии, и вообще, мы не ищем легких путей...
Короче, получилось - и epubgen под ней заработал и сконвертировал файл из командной строки. Даже UI к моему удивлению запустился - правда драг'н'дроп не работает (а под "настоящей" джавой работает, проверил)...
Размеры у ней, скомпилированной под x86, такие: сама виртуальная машина JamVM занимает 609 KB (5 директорий и 8 файлов). Ну и библиотека классов GNU Classpath занимает скромненькие 11.5 MB (9 директорий и 55 файлов включая документацию). Причем, опять же, есть такое подозрение, можно ее заметно сократить, если выбросить то, что конкретная программа epubgen не использует. "В таком вот аксепте" (c)


хинт: в процессе сборки GNU Classpath сработало вот такое
Code:
./configure --disable-plugin --disable-examples --disable-tools --disable-Werror
ну и кучку "-dev" библиотек пришлось доставить
_________________
Nothing Is Ever Easy fb2pdf


Last edited by viktorz on 26.01.2010 10:04; edited 1 time in total
 
View user's profile ^

boroda
Developer

Developer

Donate

Joined: 03 Jul 2003
Posts: 6203


Location: США

Posted: 25.01.2010 20:44    

viktorz wrote:
ну и кучку "-dev" библиотек пришлось доставить

Вот на этой кучке я и сломался. Кстати, жаль, что вы сразу не привели список всех необходимых dev-пакетов, было бы проще. Smile У меня в корневой файл-системе на Sheeva Plug всего пол-гигабайта памяти, из которой было порядка 300 М свободной. И когда дело дошло до gnome-core-devel, у меня уже просто не хватило места.

Т.е. надо тогда переводить Rootfs на жесткий диск, и т.д. и т.п., в общем, это уже целая история.

Может быть можно скачать котовый classpath откуда-то? На попробовать поюзать classpath, который приходит с evaluation package. Но вообще, объемы какие-то дикие.

Сама JamVM собралась быстро и без проблем.
 
View user's profile ^
Libroom Forum IndexSony ReaderAll times are GMT + 4 Hours
Goto page 1, 2, 3 ... 9, 10, 11  Next
Page 1 of 11

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© Libroom, 2021