PiRSquared17 / ooofbtools

Automatically exported from code.google.com/p/ooofbtools
0 stars 0 forks source link

Импорт книги формата FictionBook2 в OpenOffice Writer #60

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Предлагаю сделать импорт книги формата 
Fiction Book в OpenOffice.org Writer.

При импорте должен быть сформирован 
документ оформленный стилями FBTools. 
Информация о книге должна быть либо 
записана в свойствах документа, либо 
представлена в тексте документа 
оформленная служебными стилями. 

Original issue reported on code.google.com by yegor.ch...@fbtools.org on 9 Jun 2011 at 10:24

GoogleCodeExporter commented 9 years ago
Честно говоря, меня посетила мысль о 
написании полноценного фильтра для 
импорта и/или экспорта fb2 в writer'е. Но потом я 
глянул дичайший C++сный код import filters, и решил, 
что плагином будет чутка попроще.
В принципе - реализуемо, я полагаю.

Original comment by LRN1...@gmail.com on 9 Jun 2011 at 11:12

GoogleCodeExporter commented 9 years ago
!OpenOffice.org предлагает использовать язык 
[http://ru.wikipedia.org/wiki/XSLT XSLT] для экспорта/импорта 
из XML в XML. Именно с помощью этого языка у них 
реализован экспорт/импорт в формат DocBook, MS 
Word/Excel 2003 и другие. По идее, раз FB2 - это XML, то 
можно написать фильтр экспорта/импорта с 
помощью этого языка. Но на сколько это 
реально - не знаю, так как опыта 
использования XSLT нет совсем.  

Original comment by yegor.ch...@fbtools.org on 9 Jun 2011 at 11:38

GoogleCodeExporter commented 9 years ago
У меня тоже нет, но туториал 
http://www.ibm.com/developerworks/xml/tutorials/x-xsltopenoff/ выглядит 
не таким уж и сложным...

Original comment by LRN1...@gmail.com on 9 Jun 2011 at 12:12

GoogleCodeExporter commented 9 years ago
Я в свое время начинал (года 2 назад) писать 
макросы для OOoFBTools по импорту fb2. 
Торможнулся вот на чем:
1. ТОГДА (не знаю, как сейчас) SAX и DOM в OOo НИКАК 
не воспринимали русские символы. Я 
связывался с активом на сайте 
разработчикаов OOo - там подтвердили 
проблему.
2. Стал писать на ОпенБэйсике - столкнулся с 
рядом проблем:
а). Если fb2-файл состоит из одной огромной 
строки (а такие файлы - не редкость в сети) 
то из-за ограничений OOo на длину строки в 64Б, 
если не запамятовал, идея не увенчалась 
успехом. Думал разбивать такие файлы на 
куски, но мой алгоритм тогда не отловил бы 
НАЧАЛО и КОЛНЕЦ тэгов в этих кусках.
б).Нужен был фильтр для отлова тэгов 
старого формата fb1.0 - иначе они вылезали бы 
в импортированном тексте.
в).Не помню уже - еще были проблемы.

Original comment by dik...@gmail.com on 9 Jun 2011 at 4:47

GoogleCodeExporter commented 9 years ago
Если уж писать макрос для импорта, то на 
Python. По следующим причинам:
- для питона есть библиотеки парсинга XML
- нет ограничений на длину строки

Но мне я предлагаю изначально изучить 
возможности XSLT. Это стандартный механизм 
преобразований XML <-> XML. Но не факт что 
возможностей этого языка хватит - в FB2 есть 
картинки в base64.

А перед этим, я отправлю запрос на форумы - 
вдруг кто-то уже написал. 

Original comment by yegor.ch...@fbtools.org on 9 Jun 2011 at 4:55

GoogleCodeExporter commented 9 years ago
Отправил запрос по теме на форумы:
http://www.fictionbook.org/forum/viewtopic.php?f=7&t=5851
http://www.the-ebook.org/forum/viewtopic.php?t=19755
http://community.i-rs.ru/index.php/topic,20730.0.html

Эта тема поднималась здесь:
http://community.i-rs.ru/index.php/topic,12896.0.html
http://www.fictionbook.org/forum/viewtopic.php?p=19469#19469

Original comment by yegor.ch...@fbtools.org on 10 Jun 2011 at 12:14

GoogleCodeExporter commented 9 years ago
Подвижки есть? Помощь нужна?

Original comment by popo...@gmail.com on 24 May 2012 at 5:55

GoogleCodeExporter commented 9 years ago
Подвижек нет.
Если под помощью понимается "давайте я 
сделаю" - делай. Лично я сейчас *FB*Tools не 
занимаюсь вообще, поэтому на мои-то пальцы 
ты уж точно не будешь наступать.
Если будешь делать что-то с помощью XSLT - тут 
я тебе не помощник.
Если плагином на Питоне - стучи в Джаббер, 
отвечу на вопросы как смогу.

Original comment by LRN1...@gmail.com on 24 May 2012 at 6:30

GoogleCodeExporter commented 9 years ago
Помощь всегда нужна!
Если можете написать импорт fb2 - примите 
участие.
У меня в ближайшее время (даже не знаю, 
когда оно окончится :) ) возможности 
заняться импортом вообще не будет, увы.

Original comment by dik...@gmail.com on 24 May 2012 at 11:20

GoogleCodeExporter commented 9 years ago
С помощью python-uno, python-uno-helper я до стилей 
доберусь?

Original comment by popo...@gmail.com on 24 May 2012 at 1:09

GoogleCodeExporter commented 9 years ago
Скорее всего - да. По крайней мере три вещи 
ты точно сможешь делать:
1) Подгружать стили из тэмплэйтов (ott)
2) Присвативать стили кускам текста
3) Смотреть, каким стилем стилизован кусок 
текста
(собственно, OOoFBTools и LoPyFB2Tools это всё как раз 
и делают, поэтому об этом я могу говорить с 
уверенностью).

Original comment by LRN1...@gmail.com on 24 May 2012 at 1:43