Генеральный спонсор проекта The-eBook.orgpocketbook.ua Устройства Магазины Сервис Поддержка bookland.net.ua Книги
Fb2Epub однокнопочный конвертер формата ePub
Goto page 1, 2, 3 ... 25, 26, 27  Next [all]
 
View unanswered posts
Post new topic   Reply to topic    The-eBook Forum Index -> Общий раздел по программному обеспечению
 
Author Message

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

Член клуба The eBook


Joined: 19 May 2007
Posts: 4153
Location: Деревня Израиловка

PostPosted: Mon Aug 17, 2009 5:22 pm     Quote

В свободное время потихоньку накатал FB2 в EPUB конвертер "гарантирующий" чтение получившихся файлов на русском на всех (даже не русифицированных) девайсах в том числе и Sony.

http://rapidshare.com/files/408579189/fb2epub_1_0_35.zip.html
http://narod.ru/disk/23042755000/fb2epub_1_0_35.zip.html

(Для запуска требуется инсталлированный .Net 3.5 : )

Если кого интересуют соурсы:
http://rapidshare.com/files/408580432/Fb2ePub_1_0_35_src.zip.html
http://narod.ru/disk/23043021000/Fb2ePub_1_0_35_src.zip.html

Последняя версия: 1.0.35 от 23-го Июля 2010.



Инструкция-минимум:

1. Скачали мой конвертер.
2. Распаковали куда хотите (потом, после шага 3 не передвигать)
3. Зарегистрировали (там есть програмка)
4. Ребутнули (на всякий пожарный, иногда надо, иногда нет, лучше ребутнуть)
5. Навели на FB2 файл мышку, и нажали правую кнопку.
6. В выскочившей менюшке выбрали FB2EPUB, затем "Here".
В результате получится файл с окончанием ePub - его и читаем.
_________________
FB2EPUB
Я дурак - меня посадят.


Last edited by Roman on Fri Jul 23, 2010 2:26 pm; edited 52 times in total
 
View user's profile Send private message ^

KiR
Активный участник форума

Активный участник форума


Joined: 23 Jan 2007
Posts: 209
Location: Russia, Moscow

PostPosted: Mon Aug 17, 2009 8:42 pm     Quote

Disclaimer: В порядке флейма.

Почему бы не использовать XSLT?
 
View user's profile Send private message WWW ^

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

Член клуба The eBook


Joined: 19 May 2007
Posts: 4153
Location: Деревня Израиловка

PostPosted: Mon Aug 17, 2009 8:49 pm     Quote

В порядке флейма потому что не умею это делать в .net . Smile
хотя можно конечно было бы попробовать написать обработчик Smile

Posted after 18 minutes 39 seconds:

Обновил версию.
Исправлено:
1. Баг с навигацией второго уровня вложенности.
2. Баг с пустыми секциями (без тайтла) в дереве навигации.

Добавлено:
1. Поддержка дефолтного CSS , сидит в фолдере CSS (default.css) и если его отредактировать будет прописан в файл. Пока всунул в него только установку заголовков по центру. В планах добавить особое форматирование для стихов, аннотаций и эпиграфов, в принципе для этого все готово у элементов форматирования из FB2 есть свой class , так что вопрос добавок в CSS.
Предложения принимаются Smile
_________________
FB2EPUB
Я дурак - меня посадят.
 
View user's profile Send private message ^

KiR
Активный участник форума

Активный участник форума


Joined: 23 Jan 2007
Posts: 209
Location: Russia, Moscow

PostPosted: Mon Aug 17, 2009 9:27 pm     Quote

Ээээ... в .NET нету MSXML? Smile
Первая ссылка из Google (угадайте по-каким словам) http://www.xml.com/pub/a/2002/08/14/dotnetxslt.html
 
View user's profile Send private message WWW ^

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

Член клуба The eBook


Joined: 19 May 2007
Posts: 4153
Location: Деревня Израиловка

PostPosted: Mon Aug 17, 2009 9:32 pm     Quote

KiR
Спасибо , возможно буду изучать Smile
валидацию я и раньше умел делать а вот трансформы - увы Sad , хотя и там свои недостатки - не совсем валидный файл не поправить да и классы что я наклепал Smile можно потом для другого использовать , например классы FB2 у меня уже были как часть покупалки для клуба , а когда делал XHTML так просто изучал стандарт Smile - кто знает , может завтра редактор замутю , вроде FBE Wink
Собственно в .net я относительный новичек и одна из целей была "набить руку" (угу, пока классы XHTML набивал так "набил" что до сих пор болит Wink ) .
_________________
FB2EPUB
Я дурак - меня посадят.
 
View user's profile Send private message ^

KiR
Активный участник форума

Активный участник форума


Joined: 23 Jan 2007
Posts: 209
Location: Russia, Moscow

PostPosted: Mon Aug 17, 2009 9:37 pm     Quote

MSDN рулит? Smile

И еще, я не против приятного времяпровождения за C# или <нужное вписать>...
Но, есть же уже язык трансформаций, в котором тоже самое делается на порядок проще.
Безусловно, понимаю, что это, конечно же, язык функциональный, но с другой стороны простой и специализированный.
Короче говоря, призываю чуть-чуть расширить свой кругозор Smile
 
View user's profile Send private message WWW ^

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

Член клуба The eBook


Joined: 19 May 2007
Posts: 4153
Location: Деревня Израиловка

PostPosted: Mon Aug 17, 2009 9:45 pm     Quote

Зато у меня файлы выходят валидные Razz
_________________
FB2EPUB
Я дурак - меня посадят.
 
View user's profile Send private message ^

sorotokin
Искушенный участник форума

Искушенный участник форума


Joined: 15 Feb 2008
Posts: 61
Location: Сан-Хосе, Калифорния

PostPosted: Mon Aug 17, 2009 9:46 pm     Quote

Roman wrote:
1. Нет "разрезки" под размер , Сони и прочие подобные ридеры не откроют файл если "входной" FB2 был одним большим блоком текста и в результате получились XHTML файлы> 300K.

2. Код , в смысле структуры требует много переделок - писалось по ходу изучения стандартов ни имея представления о них (EPUB, XHTML , FB2) да и .Net для меня не "родной" язык.

3. Почти нет обработки ошибок - если что будет падать Smile о таких случаях прошу сообщать с предоставлением файла вызвавшего падение.

Если у кого есть вопросы и т.д пишите тут.
(Сильно не бить код пока еще очень левый, да и делал урывками в свободное время , но работает Smile)


Я бы добавил сабсеттинг фонтов.

Вы в курсе, что исходники для онлайн FB2EPUB конвертера доступны? Он написан на Java, но какие-то вещи может быть не так сложно портануть, скажем обработчик фонтов вот здесь: http://code.google.com/p/epub-tools/source/browse/trunk/epubtools/epub gen/com.adobe.dp.otf/src/com/adobe/dp/otf/OpenTypeFont.java
 
View user's profile Send private message ^

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

Член клуба The eBook


Joined: 19 May 2007
Posts: 4153
Location: Деревня Израиловка

PostPosted: Mon Aug 17, 2009 9:50 pm     Quote

sorotokin
Да , с фонтами в планах , но чуть более дальних, это нужно не не так критично как то что перечислил выше.
Вообще планы у меня наполеоновские Wink - закончить с этим , создать ему графическую оболочку , дописать масс-конвертер для сабфолдеров, сделать что ни будь в стиле fb2lrf то есть с контекст меню и настройками , затем возможно попробовать сделать минимальный редактор. Все зависит от настроения и времени конечно, последний пункт весьма сомнителен, остальные думаю вытяну, вопрос только сколько времени это займет Wink

Насчет вашего конвертера (как и конвертера от KiR ) - в курсе но тогда это было бы не так интересно Wink
_________________
FB2EPUB
Я дурак - меня посадят.
 
View user's profile Send private message ^

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

Член клуба The eBook


Joined: 13 Oct 2007
Posts: 633
Location: Израиль

PostPosted: Mon Aug 17, 2009 10:35 pm     Quote

KiR wrote:
Почему бы не использовать XSLT?

Он решил С# тренировать, на XSLT времени не осталось. Smile
Кстати дебагировать XSLT не такое большое удовольствие без дебагера. Пару лет (ну может больше чем пару) назад, на работе покупало специальную прогу (хотя может в с# уже есть ?)
_________________
PocketBook 360, Lbook v3 (стеклобой)
 
View user's profile Send private message ^

sorotokin
Искушенный участник форума

Искушенный участник форума


Joined: 15 Feb 2008
Posts: 61
Location: Сан-Хосе, Калифорния

PostPosted: Mon Aug 17, 2009 10:38 pm     Quote

Roman wrote:
Насчет вашего конвертера (как и конвертера от KiR ) - в курсе но тогда это было бы не так интересно Wink


Ну, желаю удачи. В моём конвертере rocket science никакого нет, так что Вы ничего не потеряли. Но сабсеттинг я бы сам точно не писал, если бы было что-то под рукой: внутреннее устройство фонтов - это тихий ужас.

Posted after 7 minutes 41 seconds:

KiR wrote:
Почему бы не использовать XSLT?


Я писал конвертер из DocBook на XSLT и конвертер из FB2 на Java. Обосновывать неохота, но на Java мне показалось всё-ж удобнее.
 
View user's profile Send private message ^

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

Член клуба The eBook


Joined: 19 May 2007
Posts: 4153
Location: Деревня Израиловка

PostPosted: Mon Aug 17, 2009 10:50 pm     Quote

sorotokin wrote:
Ну, желаю удачи. В моём конвертере rocket science никакого нет, так что Вы ничего не потеряли. Но сабсеттинг я бы сам точно не писал, если бы было что-то под рукой: внутреннее устройство фонтов - это тихий ужас.

Ну ZIP я тоже сам не писал Wink
Кстати , как я понял цель сабсетинга - сэкономить на размере файла ? Или я еще что то упускаю ?
_________________
FB2EPUB
Я дурак - меня посадят.
 
View user's profile Send private message ^

KiR
Активный участник форума

Активный участник форума


Joined: 23 Jan 2007
Posts: 209
Location: Russia, Moscow

PostPosted: Mon Aug 17, 2009 10:53 pm     Quote

sorotokin
Я ж написал, что XSLT функциональный Smile
Если серьезно, то XSLT -- другой по парадигме, поэтому -- кому что удобней.

Posted after 7 minutes 30 seconds:

Roman wrote:
Зато у меня файлы выходят валидные Razz

То что они на известном нам ресурсе не валидные -- заслуга лишь одного человека. Шутка (почти).
И потом, вся их невалидность правится очень легко.

P.S. По поводу, "моего" конвертора в EPUB. Слово "моего" взято в кавычки не случайно, моего авторства лишь xsl-преобразование в Docbook, скрипт-обвязка да всякая мелочевка-поднастройка.
 
View user's profile Send private message WWW ^

sorotokin
Искушенный участник форума

Искушенный участник форума


Joined: 15 Feb 2008
Posts: 61
Location: Сан-Хосе, Калифорния

PostPosted: Tue Aug 18, 2009 2:15 am     Quote

Roman wrote:
Ну ZIP я тоже сам не писал Wink
Кстати , как я понял цель сабсетинга - сэкономить на размере файла ? Или я еще что то упускаю ?


Сэкономить на размере - раз, особенно для фонтов, готорые используются эпизодически (например только для пары заголовков). Использовать коммерческие фонты - два (если их не делать ни mangling, ни subsetting то могут начаться проблемы с владельцами фонтов).

Posted after 4 minutes 18 seconds:

KiR wrote:
sorotokin
Я ж написал, что XSLT функциональный Smile
Если серьезно, то XSLT -- другой по парадигме, поэтому -- кому что удобней.


Функциональность в этом случае, кстати, скорее плюс, неудобств сама по себе не вызывает. У XSLT как-то бедно со стуктурами данных. Т.е., не хочется из одного XMLя лепить сразу другой, хочется иметь промежуточную модель.
 
View user's profile Send private message ^

IgorS48
Постоянный участник форума

Постоянный участник форума


Joined: 25 Jan 2008
Posts: 167
Location: Украина, Харьков

PostPosted: Tue Aug 18, 2009 6:59 am     Quote

sorotokin
Quote:
Т.е., не хочется из одного XMLя лепить сразу другой, хочется иметь промежуточную модель.

+1000. Вот это очень архитектурно правильно и прочувствовано автором данного поста на своем опыте.

ПС Не сдержался... Smile
_________________
nmdParser web content -> fb2
 
View user's profile Send private message WWW ^

KiR
Активный участник форума

Активный участник форума


Joined: 23 Jan 2007
Posts: 209
Location: Russia, Moscow

PostPosted: Tue Aug 18, 2009 8:35 pm     Quote

sorotokin wrote:
Функциональность в этом случае, кстати, скорее плюс, неудобств сама по себе не вызывает. У XSLT как-то бедно со стуктурами данных. Т.е., не хочется из одного XMLя лепить сразу другой, хочется иметь промежуточную модель.

В каком смысле бедно со структурами данных?
 
View user's profile Send private message WWW ^

sorotokin
Искушенный участник форума

Искушенный участник форума


Joined: 15 Feb 2008
Posts: 61
Location: Сан-Хосе, Калифорния

PostPosted: Tue Aug 18, 2009 9:20 pm     Quote

KiR wrote:
В каком смысле бедно со структурами данных?


В том смысле, что трудно сначала собрать всю необходимую информацию в промежуточном представлении (как его сделать в XSLT?), а потом уже генерировать результат из этого промежуточного представления. Из-за этого трудно скажем, делать автоматическую разбивку на куски не больше 300к.

Другая проблема: apply-templates не возвращает результата в вызывающий template. Т.е. apply-templates работает как map, а часто нужно reduce - нести информацию вперёд по дереву, а не только вниз.
 
View user's profile Send private message ^

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

Член клуба The eBook


Joined: 19 May 2007
Posts: 4153
Location: Деревня Израиловка

PostPosted: Wed Aug 19, 2009 12:07 am     Quote

Обновилась версия , изменения следующие:
Code:

1.0.2
+ Files now splited to XHTML files by section
+ Added some definitions to default CCS file so now epigraphs and citations no longer look as normal text.
+ added book FB2 description to EPUB description
+ Added spliting XHTML files by size , big text is no longer a problem
+ Added linking from the notes page back to the anchor page
* Title, Cover , About etc are no longer part of the navigation tree.


1.То есть сделал "порезку" очень больших файлов на кусочки и перешел на систему: одна секция - один файл, теперь Сонька "жрет" даже такие извращения.
2. Немного расширил дефолтный CCS чтобы выглядело получше (над этим еще работать и работать).
3. Описание книги теперь сидит в EPUB метадате (не то что бы ее кто пользовал но...)
4. Сделал возможность вернутся из ссылок туда где читал до перехода (как в FB2LRF Smile)
5. Убрал обложку и about с дерева навигации ибо нефиг Smile
_________________
FB2EPUB
Я дурак - меня посадят.
 
View user's profile Send private message ^

EugeneR
Продвинутый участник форума

Продвинутый участник форума


Joined: 07 Jun 2007
Posts: 76
Location: BY-IL-CH-KS-QC-TX

PostPosted: Wed Aug 19, 2009 6:51 am     Quote

Попробовал на либрусековском файле из их архива, вот что получилось:

PS C:\Users\Username\Program Files\FB2ePub> ./Fb2ePub.exe 24.fb2 F:\test.epub
FB2 to EPUB command line converter by Lord KiRon
Loading...
Saving...

Unhandled Exception: System.InvalidOperationException: Sequence contains no elements
at System.Linq.Enumerable.Max(IEnumerable`1 source)
at System.Linq.Enumerable.Max[TSource](IEnumerable`1 source, Func`2 selector)
at EPubLibrary.TOC.NavMap.NavMapElement.GetDepth()
at EPubLibrary.TOC.TOCFile.CreateTOCDocument(XDocument document)
at EPubLibrary.TOC.TOCFile.Write(Stream s)
at EPubLibrary.EPubFile.AddTOCFile(ZipOutputStream stream)
at EPubLibrary.EPubFile.AddBookData(ZipOutputStream stream)
at EPubLibrary.EPubFile.Generate(String outFileName)
at Fb2ePubConverter.Fb2EPubConverterEngine.Save(String outFileName)
at Fb2ePub.Program.Main(String[] args)
_________________
Google Nexus One | PRS-505 | PRS-600
 
View user's profile Send private message ^

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

Член клуба The eBook


Joined: 19 May 2007
Posts: 4153
Location: Деревня Израиловка

PostPosted: Wed Aug 19, 2009 8:11 am     Quote

EugeneR
Спасибо за информацию, но файл то дай Smile - без него не проверить.
Ну или хотя бы линк на название на Литресе - они у меня все есть.
Хотя судя по ошибке файл очень странный , с одной секцией и без названия что ли ?
_________________
FB2EPUB
Я дурак - меня посадят.
 
View user's profile Send private message ^
Display posts from previous:   
Post new topic   Reply to topic    The-eBook Forum Index -> Общий раздел по программному обеспечению All times are GMT + 3 Hours
Goto page 1, 2, 3 ... 25, 26, 27  Next [all]
Page 1 of 27

 
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

© The-eBook, 1999-2010. © Design by Prohorenkov
Syndicating News | Powered by phpBB © 2001, 2005 phpBB Group.
Хостинг предоставлен компанией DatForce