fb2 to rtf – головоломка

Русская Америка: слава и позор – fb2toAny создает rtf, который отказывается открывать Word, средствами ворда починить файл не удается. Устроил пляски с бубнами для чайников вокруг fb2 – изменял кодировку, применял разные скрипты, полностью удалял изображения – результат нулевой. При просмотре вьювером TotalCommander-а открывается структура rtf.
UPD Решение найдено благодаря u235 и s_Sergius. Сбой вызывают непарные фигурные кавычки, если это исправить, то проблема с конвертацией исчезает.

Комментарии

Аватар пользователя Mylnicoff

Повторил процесс создания rtf. Да, Вордом не открывается. Открыл текстовым редактором Word Pag. Внес одну правку. После этого сохранил. Теперь нормально открывается Вордом.

Mylnicoff написал:
Внес одну правку.

Какую?
Открыл Word Pag-ом, просто сохранил. Открылась Вордом, но рисунки пропали.
Аватар пользователя Mylnicoff

sd написал:
Mylnicoff написал:
Внес одну правку.

Какую?

Любую. Убрал букву и опять поставил

То же самое, что и просто сохранить.
Это не решение, это костыль. Прикладывать к такому fb2 инструкцию? Главное, рисунки убиты, но остались трупом внутри файла – если судить по объему.

sd написал:
но остались трупом внутри файла – если судить по объему.

Нет, рисунков внутри уже нет, а размер увеличился из-за юникодовской кодировки.

Попробуйте открыть и сохранить с помощью Atlantis Word Processor.

Спасибо, сработало.
Жаль, что это только часть решения. К fb2-файлу по-прежнему нужна инструкция: после конвертации в rtf открыть и сохранить Atlantis Word Processor-ом.

Не сталкивался с таким косяком...
Но про атлантис запомню, спасибо )

Кста, атлантис может сноски прибить нафиг, так что проверять надо результат.
У меня в одной книге он их прибил, а я поздно спохватился.
Пришлось бежать в библиотеку и опять книгу брать на дом.

И с картинками он как-то криво работает - качество теряется.

TaKir написал:
Кста, атлантис может сноски прибить нафиг, так что проверять надо результат.
У меня в одной книге он их прибил, а я поздно спохватился.

Тоже сталкивался, поэтому проверил: в самом fb2 их нет, так что и сносить нечего :)
Рисунки программно не проверял, но выглядят вполне сносно.
UPD: сравнил с файлом, полученным после исправления - в даннм случае, разницы в качестве рисунков нет

Головоломка решена. Проблема оказалась в том что в тексте есть открывающаяся фигурная скобка, но нет закрывающейся (точнее стоит обычная закрывающаяся скобка). Для RTF фигурные скобки - служебный символ. Скобки находятся в районе текста:

Цитата:
превосходно знали, что Сахалин - не полуостров, а остров, это потом как-то подзабыли, и Невельскому при Николае I пришлось
.
Замена круглой закрывающей скобки на фигурную закрывающую в fb2 решает проблему.

Спасибо!!! Расчленяя данную фбешку, добрался до фигурной кавычки, но, не зная, что это команда в ртф, еще бы сутки провозился с проверками.

Аватар пользователя s_Sergius

Сталкивался я такими случаями. Никакой головоломки, в общем-то, нет.
А дело в одной ошибочной фигурной скобочке "{" после фразы "обойти вокруг островов Сахалин".
Сама по себе скобочка безобидна, но в RTF-то она играет важную роль. (Также как и "}").
Word на них и спотыкается. Достаточно убить их в исходном FB2-файле, и всё станет на место.

А что делать, если скобок слишком много, не знаю. Придумайте что-нибудь.

s_Sergius написал:
А что делать, если скобок слишком много, не знаю. Придумайте что-нибудь.

(задумался)
А это, багрепорт авторам fb2toany написать - религия не позволяет?

Да. Нет. Ответа не будет, проверено

sd написал:
Да. Нет. Ответа не будет, проверено

Кто проверял? Я вполне небезответно переписывался с Грибовым разок. По схожей теме.

Я проверял. Три раза ушло в молоко. Если вам ответил, почему бы вам и не послать багрепорт о fb2toAny (rtf). Плюс: не распознает неразрывный дефис, заменяя квадратиком (нераспознанный символ). Плюс: ни один стиль не должен отображаться курсивом, если в нем предусмотрен emphasis. Emphasis в rtf и есть курсив, в результате – курсив на курсиве не виден.
удачи

sd написал:
Я проверял. Три раза ушло в молоко. Если вам ответил, почему бы вам и не послать багрепорт о fb2toAny (rtf). Плюс: не распознает неразрывный дефис, заменяя квадратиком (нераспознанный символ). Плюс: ни один стиль не должен отображаться курсивом, если в нем предусмотрен emphasis. Emphasis в rtf и есть курсив, в результате – курсив на курсиве не виден.
удачи

Мне это неинтересно. Я ею не пользуюсь.

AFAIK, эта утиль нынче тоже Грибусеру принадлежит...

А варианты и ещё есть - OOoFBtools для OpenOffice.org'а...

Аватар пользователя s_Sergius

В случае если скобок полна книга, и они там стоят не по ошибке,
вариантом было бы, наверное, сохранение в формате HTML из FB Editora любой версии, а HTML-то Word'ом откроется!
Сноски, правда, собираются в конце файла, зато все картинки в отдельную папочку складываются.

Можно еще BookDesigner использовать для пребразования прямо в DOC...

И вам спасибо!

Доброе утро!
С итересом прочитал топик, ибо столкнулся с той же проблемой.
Например: Андрей Ливадный
Черная луна (История галактики 14) - файл уже поправлен, поэтому ссылку не даю.
Борт 618 (fb2) (История галактики 31).
Первая проблема решалась заменой файла на другой библиотекарем, так как воспринялась изначально как поврежденный файл. И установить причину неоткрытия в Word отконвертированного .rtf - возможности уже нет.
Файл "Борт 618" - был проанализирован путем открытия исходного .fb2 в Opera, которая сразу показала место повреждения файла. Причиной явился лишний знак "<". Файл ещё не менялся - желающие могут посмотреть.
Может данную проблему как то вынести в ЧАВО?

Liberin написал:

Файл "Борт 618" - был проанализирован путем открытия исходного .fb2 в Opera, которая сразу показала место повреждения файла. Причиной явился лишний знак "<".

Андрей Ливадный
Черная луна (История галактики 14)
- причина та же, проверено перед заменой файла. Многие Fb2, сделанные скриптом без правки или в BD без последующей проверки имеют сходный дефект и являются невалидными.

Tanja45 написал:
Многие Fb2, сделанные скриптом без правки или в BD без последующей проверки имеют сходный дефект и являются невалидными.

То есть, это следствие некорректной конвертации в fb2.
Спасибо.

Не всегда. Файл может быть совершенно валидным, открываться fb2-читалками, но при конвертации в rtf получится файл, который нельзя открыть Word-ом. Причина: в тексте fb2 есть непарная фигурная кавычка – } или { – убрать или заменить такую кавычку и баг исчезнет.

sd написал:
Не всегда. Файл может быть совершенно валидным, открываться fb2-читалками, но при конвертации в rtf получится файл, который нельзя открыть Word-ом. Причина: в тексте fb2 есть непарная фигурная кавычка – } или { – убрать или заменить такую кавычку и баг исчезнет.

Наверное дело не всегда в фигурной кавычке. Вот в случае с "Борт 618" Андрея Ливадного, засада была с таким знаком - "<".
Я не специалист, то есть вообще не разбираюсь, но, насколько я понял, эти знаки открывают и закрывают каждую строку в fb2. А там был лишний в средине строки, эту ошибку показала Opera при окрытии в ней fb2 (выделила красным). Когда я удалил этот знак, отконвертированный в rtf файл стал нормально открываться в Word.

Я бы определил это не как комментарии а как вопрос.

Я попробовал программу fb2Any для "конвертирования" из формата fb2 в формат Microsoft (RTF формат).

То биш, загрузил файл в формате fb2 и сохранил его в формате RTF. Полученный таким способом файл открывается v Microsoft Word, но он полон вопросителних знаков - Word не понимает кодов.

Какое может быть решение? У меня Виста на Англииском, но документы на русском открываются и читаются без проблем - например сгруженные русские книги в РТФ или ДОС форматах.

Валера

karu116 написал:

То биш, загрузил файл в формате fb2 и сохранил его в формате RTF. Полученный таким способом файл открывается v Microsoft Word, но он полон вопросителних знаков - Word не понимает кодов.

А контекстным меню пользоваться не пробовали? В смысле не загружать fb2, а сразу через контекстное меню конвертировать.

Golma1, спасибо за совет.

Не совсем понял что вы имели в виду под контекстным
меню, но я попробовал поработать с программой FB2Batch из
того же пакета, установив режим “Compatable encoding”.
После работы программы получился отличный файл в RTF
формате, который прекрасно открылся программой Microsoft Word

Так что проблема решена.

Валера

karu116 написал:
Не совсем понял что вы имели в виду под контекстным меню...

Что проблема решена, это хорошо. :)
"Контекстное меню" - это то меню, которое выпадает, если на файле щёлкнуть правой кнопкой мышки. ;)

Спасибо!!! Провозился долго! Даже б не подумал... Заменил "{" на "(" и все сработало. Очень, очень благодарен!

Я обычно поступаю проще: открываю fb2 при помощи FB Editor, а затем тривиально копирую текст (Ctrl-C -> Ctrl V) в MS Word. После этого можно сохранить файл в любом формате, включая RTF и PDF (для PDF нужен соответствующий плаг-ин).

Аватар пользователя s_Sergius

lwowianin написал:
Я обычно поступаю проще: открываю fb2 при помощи FB Editor, а затем тривиально копирую текст (Ctrl-C -> Ctrl V) в MS Word. После этого можно сохранить файл в любом формате, включая RTF и PDF (для PDF нужен соответствующий плаг-ин).

Проще еще не значит, что лучше. Вашим способом сохраняется визуальное оформление текста (в духе FBE), но зато теряется разметка стилями, что не есть хорошо.

Аватар пользователя lopotun

sd написал:
Русская Америка: слава и позор – fb2toAny создает rtf, который отказывается открывать Word, средствами ворда починить файл не удается. Устроил пляски с бубнами для чайников вокруг fb2 – изменял кодировку, применял разные скрипты, полностью удалял изображения – результат нулевой. При просмотре вьювером TotalCommander-а открывается структура rtf.
UPD Решение найдено благодаря u235 и s_Sergius. Сбой вызывают непарные фигурные кавычки, если это исправить, то проблема с конвертацией исчезает.

Я это обошел чуть иначе: заменил фигурную скобку (кавычку) или скобки на похожую "маленькую". Она правда чуть раздвигает пробелы слева и справа от себя, зато при конвертации в fb2toAny для RTF, если фигурная ковычка одна, - все проходит на ура. Если две фигурные ковычки (открывающая и закрывающая), - также на ура, да ещё после конвертирования они остаются в RTF на своих местах, а не "съедаются"...
Ставлю эти:
Маленькая левая фигурная скобка - https://unicode-table.com/ru/FE5B/
Маленькая правая фигурная скобка - https://unicode-table.com/ru/FE5C/

Да, ещё забыл добавить про угловые стрелки <> на клавиатуре, может кому понадобится: после конвертирования в RTF стрелка < превращается в (& l t;), а > в (& g t;). Чтобы избежать этого неплохо подходят модификаторы...
Ставлю эти:
Модификатор буквы левая стрелка - https://unicode-table.com/ru/02C2/
Модификатор буквы правая стрелка - https://unicode-table.com/ru/02C3/

X