Набор утилит Fb2Epub для конвертации формата FB2 в ePub
Goto page 1, 2, 3 ... 66, 67, 68  Next
 
Libroom Forum IndexПрограммное обеспечение
AuthorMessage

Roman
Developer

Developer



Joined: 19 May 2007
Posts: 4412


Location: Деревня Израиловка

Posted: 17.08.2009 18:22    

Время идет, программа растет Smile
Уже не такая маленькая и далеко не бета и тем более не альфа. Точнее уже получился целый пакет программ или утилит объединенных одной целью - конвертацией FB2 файлов в ePub с возможностью русификации.

Программа бесплатна для любого типа использования, код открыт.

Последняя версия: 1.1.7 от 31-го Июля 2014.


Сайт программы:
http://www.fb2epub.net


Конвертировать можно:
1. Через утилитку ГУЙ
2. Через командную строку
3. Через правую кнопку мыши из Проводника Windows
4. Как экспортное плагин расширение к редактору FBE.
5. Сохраняя FB2 файлы в ePub прямо из браузера/обозревателя Firefox
6. Используя из других программ через COM интерфейс.

Качать тут:
http://www.fb2epub.net/rus/index.html#latest

О проблемах, замеченных ошибках и пожеланиях - пишите тут в топике или ко мне на почту lordkiron@fb2epub.net .


Last edited by Roman on 31.07.2014 15:59; edited 78 times in total
 
View user's profile ^

KiR
Developer

Developer



Joined: 23 Jan 2007
Posts: 188


Location: Russia, Moscow

Posted: 17.08.2009 21:42    

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

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

Roman
Developer

Developer



Joined: 19 May 2007
Posts: 4412


Location: Деревня Израиловка

Posted: 17.08.2009 21:49    

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

Posted after 18 minutes 39 seconds:

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

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

KiR
Developer

Developer



Joined: 23 Jan 2007
Posts: 188


Location: Russia, Moscow

Posted: 17.08.2009 22:27    

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

Roman
Developer

Developer



Joined: 19 May 2007
Posts: 4412


Location: Деревня Израиловка

Posted: 17.08.2009 22:32    

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

KiR
Developer

Developer



Joined: 23 Jan 2007
Posts: 188


Location: Russia, Moscow

Posted: 17.08.2009 22:37    

MSDN рулит? Smile

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

Roman
Developer

Developer



Joined: 19 May 2007
Posts: 4412


Location: Деревня Израиловка

Posted: 17.08.2009 22:45    

Зато у меня файлы выходят валидные Razz
 
View user's profile ^

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

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



Joined: 15 Feb 2008
Posts: 54


Location: Сан-Хосе, Калифорния

Posted: 17.08.2009 22:46    

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 ^

Roman
Developer

Developer



Joined: 19 May 2007
Posts: 4412


Location: Деревня Израиловка

Posted: 17.08.2009 22:50    

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

Насчет вашего конвертера (как и конвертера от KiR ) - в курсе но тогда это было бы не так интересно Wink
 
View user's profile ^

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

Член клуба The eBook



Joined: 13 Oct 2007
Posts: 664


Location: Израиль, Хайфа

Posted: 17.08.2009 23:35    

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

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

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

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



Joined: 15 Feb 2008
Posts: 54


Location: Сан-Хосе, Калифорния

Posted: 17.08.2009 23:38    

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


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

Posted after 7 minutes 41 seconds:

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


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

Roman
Developer

Developer



Joined: 19 May 2007
Posts: 4412


Location: Деревня Израиловка

Posted: 17.08.2009 23:50    

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

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

KiR
Developer

Developer



Joined: 23 Jan 2007
Posts: 188


Location: Russia, Moscow

Posted: 17.08.2009 23:53    

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

Posted after 7 minutes 30 seconds:

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

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

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

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

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



Joined: 15 Feb 2008
Posts: 54


Location: Сан-Хосе, Калифорния

Posted: 18.08.2009 03:15    

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


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

Posted after 4 minutes 18 seconds:

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


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

IgorS48
Кандидат в члены клуба The eBook

Кандидат в члены клуба The eBook



Joined: 25 Jan 2008
Posts: 293


Location: Украина, Харьков

Posted: 18.08.2009 07:59    

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

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

ПС Не сдержался... Smile
_________________

"Любовь к Родине не ведает чужих границ" С.Е.Лец
Брат у ворот Smile
 
View user's profile ^

KiR
Developer

Developer



Joined: 23 Jan 2007
Posts: 188


Location: Russia, Moscow

Posted: 18.08.2009 21:35    

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

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

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

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



Joined: 15 Feb 2008
Posts: 54


Location: Сан-Хосе, Калифорния

Posted: 18.08.2009 22:20    

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


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

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

Roman
Developer

Developer



Joined: 19 May 2007
Posts: 4412


Location: Деревня Израиловка

Posted: 19.08.2009 01:07    

Обновилась версия , изменения следующие:
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
 
View user's profile ^

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

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



Joined: 07 Jun 2007
Posts: 47


Location: BY-IL-CH-KS-QC-TX

Posted: 19.08.2009 07:51    

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

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 ^

Roman
Developer

Developer



Joined: 19 May 2007
Posts: 4412


Location: Деревня Израиловка

Posted: 19.08.2009 09:11    

EugeneR
Спасибо за информацию, но файл то дай Smile - без него не проверить.
Ну или хотя бы линк на название на Литресе - они у меня все есть.
Хотя судя по ошибке файл очень странный , с одной секцией и без названия что ли ?
 
View user's profile ^
Libroom Forum IndexПрограммное обеспечениеAll times are GMT + 4 Hours
Goto page 1, 2, 3 ... 66, 67, 68  Next
Page 1 of 68

 
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