FR 15 + FBE 2.6.6 - Как нормализовать нормально FB2?

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

В общем давно уже не распознавал книжки, весь софт ставил заново, многое старое забыл, а умные люди сделали многое полезного нового. В общем замечательно распозналась книжка в ФайнРидере 15-ом, сохранил её в формате ФБ2, загрузил в FBE чтобы прописать там все нужные мелочи и вообще причесать. А оно не сохраняет. Пишет, что незакрытые какие-то "th, td". Файнридер все картинки впихнул внутрь таблиц. Я подозреваю, что надо как-то избавится от таблиц? Но 78 иллюстраций в книжке, замучаешься вручную. запустил скрипт "чистка" - осталось 4 картинки из 78 - явно ненормальная ситуация. Кто-то может подскажет как это правильно сделать? Заранее благодарен.

Комментарии

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

Civilizator написал:
Файнридер все картинки впихнул внутрь таблиц.

Сам впихнул или ему кто-то это позволил не изменив тип распознанной области?
Цитата:
Я подозреваю, что надо как-то избавится от таблиц?

Откройте fb2 в текстовом редакторе и воспользуйтесь поиском.
Аватар пользователя Civilizator

Drunkenmunky написал:
Сам впихнул или ему кто-то это позволил не изменив тип распознанной области?
Откройте fb2 в текстовом редакторе и воспользуйтесь поиском.

Сам впихнул. Картинки он типизирует как картинки, но при сохранении в ФБ2 из изображения и подписи делает таблицу.
Открыть в редакторе и искать - это и есть "вручную". Это я и без подсказки могу, но лениво столько вручную редактировать, хочется узнать как это правильно автоматизировать. Тем более не последнюю книгу распознаю, на будущее в очереди еще много книжек с большим количеством иллюстраций.

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

Civilizator написал:
лениво столько вручную редактировать, хочется узнать как это правильно автоматизировать.

Воспользоваться текстовым редактором чуть сложнее, чем стандартный Блокнот. Применив в нем функцию Поиск/Замена.
Если вы ищете готовое однокнопочное решение вашей проблемы, то вряд ли найдете. А вот правильное средство посоветовать могу - скрипты.
P.S. Кстати, нельзя ли увидеть образец "проблемной" страницы? Как в виде скрина после распознавания, так и после сохранения в fb2.

Ковыряться в FR 15 на предмет "нормализации" дольше, чем вручную "выковыривать" картинки из таблиц.

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

Открыть в FBE режиме сорцев, запустить тотальную замену в тексте: <td> > <p>, </td> > </p> и так далее, всё, <table> > пустое место и так далее.
Может, конечно, получиться, что у вас какой-то <p> окажется без </p> -- тогда вручную в этом же режиме найти и вставить.

Именно так.
И ещё.
В стареньком ФР12 программа после распознавания выдает список проблемных страниц. Если их не миллион, то можно отменить в них распознанные таблицы и перераспознать.
Наверняка, и в ФР15 так же.

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

Наверное мой совет не подойдет, поскольку вопрос был о том, как автоматизировать удаление таблиц. Но по собственному опыту могу сказать, что после файнридера автоматический поиск и замену нужно применять крайне осторожно - может возникнуть ситуация, когда файл просто не будет сохраняться. Сам я обычно сначала правлю структуру, до уровня, когда наличие tr, td и tн выводится как единственная ошибка, а потом, поскольку картинки, вставленные файнридером, далеко не идеальны, расставляю их по новой, после правки в фотошопе. И тут уже необходимости в автоматизации особой нет - все делается вручную. Но процесс контролируем и неожиданных ошибок не возникает. Но если хочется автоматизировать, то после правки структуры поиск с заменой (tr, td. th. table и т.д.) может оказаться вполне достаточным.

V_E написал:
Наверное мой совет не подойдет, поскольку вопрос был о том, как автоматизировать удаление таблиц. Но по собственному опыту могу сказать, что после файнридера автоматический поиск и замену нужно применять крайне осторожно - может возникнуть ситуация, когда файл просто не будет сохраняться. Сам я обычно сначала правлю структуру, до уровня, когда наличие tr, td и tн выводится как единственная ошибка, а потом, поскольку картинки, вставленные файнридером, далеко не идеальны, расставляю их по новой, после правки в фотошопе. И тут уже необходимости в автоматизации особой нет - все делается вручную. Но процесс контролируем и неожиданных ошибок не возникает. Но если хочется автоматизировать, то после правки структуры поиск с заменой (tr, td. th. table и т.д.) может оказаться вполне достаточным.
Извращенец! Ведь гораздо проще скопипастить текст, раз уж всё равно картинки вручную вставляешь совсем не те, которые Фаня сделал, а потом зачем-то извращаешься с таблицами! Можно же гораздо проще сделать! Просто не размечай в Фане картинки, сохраняй без картинок, раз уж всё равно картинки потом свои обработанные вставляешь. Не будешь заниматься сексом с таблицами: нет картинок - Фаня не наставит таблиц с картинками в таблицах. А то мало ли, вдруг попадётся случай с таблицей, а ты из-за картинок все таблицы похеришь вместе с нужной таблицей.
И следи за пустыми строками там, где они были в книге: Фаня любит их игнорировать. Но опять же: часто в книге пустые строки ставятся, чтобы отделить цитату или эпиграф или стихи от текста, тогда оформить соответственно, а пустая строка не нужна.
Аватар пользователя Isais

Вы не находите, что несколько нелепо поучать человека, который восемь лет на сайте и сделал уже больше сотни книг? Причем технических претензий к его книгам не возникает -- это не Сундук, будь он неладен!
А поучать опытного верстальщика в таком тоне, как Вы это сделали, вообще ни в какие ворота не лезет.
Язык придерживайте. Невзирая на желание его почесать.

Isais написал:
Вы не находите, что несколько нелепо поучать человека, который восемь лет на сайте и сделал уже больше сотни книг? Причем технических претензий к его книгам не возникает -- это не Сундук, будь он неладен!
А поучать опытного верстальщика в таком тоне, как Вы это сделали, вообще ни в какие ворота не лезет.
Язык придерживайте. Невзирая на желание его почесать.
Ну, а я 10 лет на Флибусте, а уж на Либрусеке ещё раньше зарегистрировался, и чо? А книг тут сделал тоже дохрена и больше. И чо? Не находишь, что меня нелепо поучать?
А я никого не поучаю, просто делюсь своим опытом, которого у меня огого! :))
Ну и ты бы поделился, чивоущтам! Я ж ведь знаю, что ты опытный.
"Опытный" верстальщик так бы не накосячил тоже может ошибаться. В данном случае я даю ему совет как ещё более опытный.
Аватар пользователя Isais

В очередной раз убеждаюсь: комплекс полноценности не лечится.
Тогда придется объяснять по лбу в лоб:


  1. я не позволял Вам мне тыкать. И на брудершафт не пил и не собираюсь;

  2. не говорите мне, что мне делать, и я не скажу, куда вам идти. Не ваше это собачье дело -- решать за меня;

  3. я делюсь опытом, когда мне есть что сказать. А не просто языком потрепать.


Доступно?
Или повторить?

себе повтори!

Вы ведете себя отвратительно! Флибустянский срач пахнет издали. Не "тыкайте" незнакомым людям, хотя бы... А впрочем, кому это я о культуре...

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

Блин. Чисто технический вопрос. Ожидался чисто технический ответ. Ну как, как даже в этом народ умудряется найти темы для посраться? Я это понимать отказываюсь! Жалко, что никак это позорище удалить не могу отсюда...

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

Цитата:
Zadd написал:
]Извращенец! Ведь гораздо проще скопипастить текст, раз уж всё равно картинки вручную вставляешь совсем не те, которые Фаня сделал, а потом зачем-то извращаешься с таблицами!...

Можно и так, конечно. Кто как привык работать. Хотя учиться, как известно, никогда не поздно. Спасибо!
P.S. Благодарность, естесственно, за идею, а не за форму ее изложения.

можно и так

Картинка: 

Civilizator написал:
В общем давно уже не распознавал книжки, весь софт ставил заново, многое старое забыл, а умные люди сделали многое полезного нового. В общем замечательно распозналась книжка в ФайнРидере 15-ом, сохранил её в формате ФБ2, загрузил в FBE чтобы прописать там все нужные мелочи и вообще причесать. А оно не сохраняет. Пишет, что незакрытые какие-то "th, td". Файнридер все картинки впихнул внутрь таблиц. Я подозреваю, что надо как-то избавится от таблиц? Но 78 иллюстраций в книжке, замучаешься вручную. запустил скрипт "чистка" - осталось 4 картинки из 78 - явно ненормальная ситуация. Кто-то может подскажет как это правильно сделать? Заранее благодарен.
Печально, что со времён FR11 ничего не изменилось. Никак. Лучше сохранить в .odt и сконвертировать с помощью OoOFBTools, а ещё лучше скопипастить текст в FBE, а картинку обработать другими программами, например IrfanView, Photoshop и т.п. из скана: повернуть на нужный угол, чтобы устранить перекос, обрезать, масштабировать, чтобы картинка занимала не слишком много места на экране(например, если скан с разрешением 300DPI, то масштабировать к 100 или 150DPI или к "каноничному" 96DPI), также имеет смысл урезать количество цветов на картинке к 16 цветам, если картинка в градациях серого(ч/б, но цветов больше двух) и перевести её в png, дело в том, что png не искажает картинку муаром в отличие от jpg и занимает меньше места, если на цвет используется 4бита, а не 24, в отличие от jpg, которому всегда надо 24бита для цвета, независимо от реального количества цветов. Короче, картинка в png лучше прорисована и занимает меньше места, чем jpg, при условии, что в png количество цветов 16 или меньше. С цветными картинками так рисковать не стоит, лучше впихнуть jpg, а с ч/б в самый раз, к тому же в читалке цвет всё равно обрежется к 16цветному ч/б, заодно и увидите, как оно будет выглядеть в читалке.
В общем, копипаст - наше всё!
Да, ещё: следите, чтобы не потерялись пустые строки, где они были в книге: Фаня любит их игнорировать. Но опять же: часто в книге пустые строки ставятся, чтобы отделить цитату или эпиграф или стихи от текста, тогда оформить соответственно, а пустая строка не нужна.
Не сохраняйте в doc: потеряются кавычки(точнее, преобразуются из «» в ""). Имеет смысл сохранять в txt UTF8, только опять же нужно следить, чтобы не пропали emphasis и strong там где это надо, а не subtitle или title, ну и стихи надо по особому оформлять: у Фани вообще нет стихов, каждую строку стиха нужно размечать отдельной областью распознавания, чтобы Фаня не слил все строки стиха в одну строку.
Насчёт IrfanView и сохранения картинок: чтобы png получился минимального размера, нужно использовать плагин pngout, этот плагин активен только в версии IrfanView 32бит, поэтому пришлось сносить 64разрядный IrfanView, хоть в нём и было больше плагинов, чем в 32разрядном, но конкретно этот плагин не хотел работать. Для наибольшего сжатия уровень сжатия должен быть 9, но иногда при таком уровне IrfanView может почистить скан от артефактов, а если это не артефакты, а деталь рисунка? Тогда безопасный уровень сжатия 6: рисунок не будет самовольно чиститься от артефактов или деталей рисунка, похожих на артефакты, но размер рисунка будет несколько больше.
Аватар пользователя Drunkenmunky

Возможно кому-то пригодится.
В PHP есть подходящая функция strip_tags()
Удаляет все HTML теги, какие найдет, кроме разрешенных.
Пример использования.

<?php
$text
= 'Какой-то текст содержащий HTML';
strip_tags($text, '<p><a><i><strong><img>');
echo
$text;
?>
Аватар пользователя Civilizator

Drunkenmunky написал:
Возможно кому-то пригодится.
В PHP есть подходящая функция

Чувствую, лучше всего будет потратить пару дней и разобраться с тем, как самостоятельно написать скрипт для FBE.

Civilizator написал:
Drunkenmunky написал:
Возможно кому-то пригодится.
В PHP есть подходящая функция

Чувствую, лучше всего будет потратить пару дней и разобраться с тем, как самостоятельно написать скрипт для FBE.
Значит, джаваскрипт Вы уже знаете... Завидую. А я вот так и не сподобился изучить и мне что php, что джаваскрипт, что китайская грамота...

Совсем необязательно изобретать скрипт под "php, что джаваскрипт", достаточно написать простенький регексп и под Notepad++ довести ФБ2 до ума. Notepad++ понимает регекспы, если чё.

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

Благодаря Violontan проблема решена самым удобным и правильным образом - добавлением скрипта в FBE.

Скрипт "Превратить таблицы в простой текст v1.1" залил в git-хранилище исходников FBE:

github точка com слэш sensboston слэш fictionbookeditor

Лежит в папке

/files/Scripts/19_Обработка форматирования/

Civilizator написал:
Благодаря Violontan проблема решена самым удобным и правильным образом - добавлением скрипта в FBE.

Скрипт "Превратить таблицы в простой текст v1.1" залил в git-хранилище исходников FBE:

github точка com слэш sensboston слэш fictionbookeditor

Лежит в папке

/files/Scripts/19_Обработка форматирования/

не работает, при запуске программы "Ошибка выполнения скрипта"

Попробуйте скачать с такого адреса:
scripts точка fictionbook точка org слэш files3 слэш ConvertTablesIntoText_v1_1.zip

На GitHub.com, я думаю, файл тоже корректный, но его оттуда надо сохранять правым кликом мыши по кнопке "Raw", и далее - "Сохранить объект как...".

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

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

X