Описание работы пакета OOoFBTools. Создание книг FB2 - [6]

Шрифт
Интервал

!

4.1.5. Выравнивание строк ячеек таблицы

Можно выравнивать строки в каждой ячейке по ширине, как вам угодно – конвертер автоматом выравнивает строки для каждой ячейки в результирующем файле. По высоте – пока задается в «Настройках» (пока), и применяется ко всем ячейкам одинаково.

Атрибуты align, valign для тегов tr, th, td таблицы сделаны «не обязательными». Т. е. в Настройках конвертера их можно отключить (выбрав из списков пустое значение). В этом случае эти атрибуты в fb2 файл заноситься не будут. Это же реализовано и для «пустых» ячеек таблицы (нет ни одного абзаца), даже при выбранном выравнивании строк в Настройках. Выравнивание по ширине в любом случае «считывается» со строк таблиц автоматически.

4.1.6. «Пустые» ячейки таблицы

Иногда требуется, чтобы в таблице были ячейки с «пустым» содержанием. Конвертер позволяет экспортировать и такие ячейки таблицы. После экспорта в fb2 документ на месте этой «пустой» ячейки будет ‹th/› (для «пустого» заголовка) или ‹td/› (для «пустой» ячейки).

4.1.7. Структура элементов таблицы

Таблица формата fb2 имеет следующую структуру:

4.1.7.1. Тэг table

В тэг table вложен тэг tr – «контейнер» для строк заголовков (тэг th) или данных (тэг td) всех столбцов ячеек таблицы. Тэг table может содержать от 1 до бесконечности обязательных тэгов tr. В свою очередь, тэг tr может содержать от 1 до бесконечности обязательных тэгов th или td.

Например, есть такая таблица:

В fb2 формате это выглядит так:

‹table›

‹tr›

‹th align="1еft"›Заголовок 1:1 ‹/th›

‹th›Заголовок 1:2‹/th›

‹th align="right"›Заголовок 1:3‹/th›

‹/tr›

‹tr›

‹td align="left"›2:l‹/td›

‹td align="right"›2:2‹/td›

‹td›

‹/tr›

‹/table›

4.1.7.2. Тэг th

Тэг th так же имеет «свои» атрибуты (см. схему ниже) и содержит «отформатированные» символьными (inline) стилями данные-заголовки ячейки таблицы.

Тэг th может содержать от 0 до бесконечности «отформатированых» символьными стилями заголовков ячеек таблицы. Т. е. Тэг th может быть «пустым», закрытым:

‹table›

‹tr›

‹th/›

‹th› ‹/th›

‹/tr›

‹/table›

А может и содержать заголовки ячеек:

‹table›

‹tr›

‹th align="left"›Заголовок l:l‹/th›

‹th align='' center"›Заголовок 1:2‹/th›

‹/tr›

‹/table›

Атрибуты align и valign служат для выравнивания заголовка по ширине и по высоте соответственно. Тэг имеет еще и другие атрибуты.

Схема тэга дана th ниже:

4.1.7.3. Тэг td

Тэг td так же имеет «свои» атрибуты (см. схему ниже) и содержит «отформатированные» символьными (inline) стилями данные-строки ячейки таблицы.

Тэг td может содержать от 0 до бесконечности «отформатированых» символьными стилями строк ячеек таблицы. Т. е. Тэг td может быть «пустым», закрытым:

‹table›

‹tr›

‹td/›

‹td› ‹/td›

‹/tr›

‹/table›

А может и содержать заголовки ячеек:

‹table›

‹tr›

‹td align=

‹td align=

‹/tr›

‹/table›

Атрибуты align и valign служат для выравнивания строки по ширине и по высоте соответственно. Тэг имеет еще и другие атрибуты.

Схема тэга td дана ниже:

4.1.8. Экспорт таблиц, ячейки которых могут содержать разное число абзацев

Формат FictionBook поддерживает и простые таблицы, по типу «прямоугольных» матриц, и некоторые сложные таблицы, где строки или столбцы могут быть разбиты. Простая таблица будет экспортирована «на ура» (число строк и колонок – не ограничено):

Более сложные таблицы тоже экспортируются:

Формат fb2 не поддерживает таблицы, вложенные в ячейки другой таблицы (что практически всегда можно увидеть на html файлах, скаченных с сайтов, форумов):

С другой стороны, согласно формату fb2 каждый тэг th и td может содержать только один абзац. Т. е. такая таблица:

«превратится» в fb2 формате в такую (абстрактно):

Т.е. все абзацы в ячейке «сливаются» в одну строку.

А таких таблиц можно встретить довольно часто (техническая, научная и др. литература). Как же сконвертировать ТАКИЕ «прямоугольные» таблицы в fb2 файл?

Конвертер позволяет это сделать за счет добавления так называемых «виртуальных» строк и ячеек. Т. е. все абзацы в ячейке (например 5 абзацев) становятся строками (5 строк).

Например, у нас есть такая таблица с несколькими абзацами в ячейках, а некоторые ячейки пустые:

Конвертер создаст fb2 код таблицы, которая выглядеть в читалках будет так:

Т.е., вместо 3 строк мы получили 8, разбив «многоабзацевые» ячейки. Это и есть так называемые «виртуальные» строки.

Чтобы все это «пощупать», сконвертируйте тестовый файл ExportToFB21_Test.odt и посмотрите результат (fb2 код в редакторе и «внешний вид» таблиц в читалке). Для Windows лучше всего (на сегодняшний день) отображает таблицы с выравниванием ячеек Cool Reader 2.66. Она корректно «отбивает» колонки таблиц. Выберите в ней в настройках скин default для того, чтобы увидеть границы ячеек.

4.1.8.1. Ячейки: экспорт абзацев как строк и экспорт абзацев как одну строку

Конвертер по умолчанию экспортирует многоабзацевые ячейки как абзацы. Но, иногда надо, чтобы абзацы определенной ячейки сконвертировались, как одна строка (слить их в один, разделив пробелом).

Например, есть таблица:

В 1-й ячейке два абзаца по сути дела выражают одно и тоже. После экспорта мы получим такую таблицу:

Эта таблица выглядит хорошо. Но вот если во втором столбце будет всего один абзац, то тогда после экспорта таблица будет выглядеть уже так:


Еще от автора Вадим Кузнецов
Хранители

Рассказ изначально писался к миру Дмитрия Глуховского «Метро 2033». Мир будущего. 20 лет после ядерной катастрофы. Выжившие люди живут в глубоких бункерах и метро. По поверхности, зараженной радиацией, бродят самые разнообразные мутанты. Автор представляет свою версию появления быстрых мутаций у животных. Данная версия рассказа отвязана от мира «Метро» и является самостоятельным произведением.


Швейцарские часы

«Как управлять временем? Как заставить планету крутиться быстрее или медленней? Возможно ли это? …Как элегантно! Часы «Роллекс». Хорошая вещь. Перевел стрелку на пять минут назад, и вот у тебя пять лишних минут. Просто и элементарно».


Проклятие Пандоры. Файл №413

Этот сериал смотрят во всем мире уже пятый год. Ом вобрал в себя вес страхи нашего времени, загадки и тайны, в реальности так и не получившие научного объяснения.Эпидемия. Страшная эпидемия неизвестной пока еще медицине «красной лихорадки», буквально ВЫКАШИВАЮЩЕЙ людей из маленького американского городка, издавна облюбованного тихой общиной мормонов!Быть может, у этой эпидемии — и вправду СУГУБО НАУЧНЫЕ причины, и права Скалли, утверждающая, что городу нужны не агенты ФБР, а врачи?А может — прав все-таки Молдер? Молдер, упрямо верящий местным слухам о том, что смерть уносит лишь тех, у кого на совести лежит ТЯЖКИЙ ГРЕХ? Но тогда — ЧТО ЖЕ ТАКОЕ эта таинственная «красная лихорадка», от которой невозможно ни спастись, ни спрятаться?Так начинается новое дело «Секретных материалов»…