Abiword’у — нет!

Алексей Федорчук

Вот уже не один год применяю Abiword в качестве word-процессора (обычно не совсем точно называемый текстовым процессором) и он меня вполне устраивал. Ибо на 90% мои потребности в офисном софте сводятся к чтению doc-аттачментов, и только в 10% случаев возникает необходимость в создании оригинальных форматированных документов — причём 9% из них небольшие и несложные по оформлению. И лишь в одном случае из ста требуется создание объёмного и не вполне банально отформатированного оригинального материала, который, впрочем, тоже оказывался посильным Abiword’у. Но этот один случай, как правило, был для меня очень важен и по сути, и, главное, по срокам, то есть возникал неожиданно и «требовался вчера».

Так было до тех пор, пока давеча не стал готовить материалы для сбора на книгу про Пиктов и вересковое бухло. По условиям задачи для участия в этом предприятии необходимо представить фрагмент своего потенциального сочинения в основных форматах электронных книг — FB2, EPUB, MOBI, PDF. Поскольку свои всамделишние (не офисные) оригинальные тексты я сочиняю в текстовом редакторе в виде текстового файла с HTML-разметкой, мне показалось самым простым открыть соответствующий фрагмент в Abiword’е, сохранить его в формате ODT, а уж его преобразовывать во всё остальное посредством Calibre, которая нынче умеет делать это хорошо (как — со временем расскажу отдельно).

Что я и не замедлил проделать: открыл HTML-файл, просмотрел, по ходу дела внёс соответствующие коррективы. А необходимость в них у меня всегда возникает при прочтении собственных материалов — почему я и не люблю их перечитывать: возникает желание стереть всё нафиг и написать по новой, приходится себя останавливать. После чего сохранил исходный документ как файл ODT, закрыл Abiword и приготовился к дальнейшим действиям в Calibre.

Но тут мне пришло в голову, что надо бы внести в текст ещё некоторые изменения. Конечно, в Calibre есть нынче встроенный редактор, однако я с ним ещё недостаточно освоился. Поэтому схватился за знакомые пистолеты более привычный Abiword. И каково же было моё удивление, когда в ответ на попытку открыть только что редактировавшийся файл я получил сообщение о невозможности это сделать:

abiword-net_01

Удручённый, но ещё не осознавший масштабов бедствия, а быстренько установил LibreOffice в минимальной комлектации (Writer, Calc и их зависимости), и попробовал открыть тот же файл в его word-процессоре — и с тем же результатом. Разве что сообщение об ошибке было несколько конкретизировано — она содержалась в такой-то позиции контент-файла:

abiword-net_02

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

Как известно, документ формата ODT — это просто компрессированный архив, содержащий XML-файл с содержимым (content.xml) и сопутствующие файлики со всякого рода дополнительной информацией (определением MIME-типа, стилевой таблицей etc.). Так что задача сводилась к распаковке архива, открытию контент-файла в текстовом редакторе и отысканию в нём соответствующей позиции. В коей обнаружилась удивительная вещь — открывающий тег соответствующего абзаца выглядел так:

<text:p text:style-name=»P3» >

А закрывающий — так:

</text:h>

Удивлённый этим обстоятельством не меньше, чем Остап Бендер — наличию двух Советских улиц в Старгороде, я поправил закрывающий тег, переупаковал ODT-файл и попробовал повторить процедуру открытия во Writer’е из LibreOffice. Writer’а ответила сообщением об ошибке в следующей позиции (хорошо, что не скалкой между глаз):

abiword-net_03

Ошибка оказалась аналогичной (разные открывающий и закрывающий теги). Но легче от этого не стало. А, наоборот, стало мучительно ясно: Abiword способен создавать ошибки на ровном месте.

После этого я решил действовать малой кровью, но на своей земле. Быстро-быстро установил конвертер ODT в TXT:

$ sudo apt in odt2txt/wily

Быстро-быстро конвертировал искалеченный файл:

$ odt2txt picti-i-el.odt > picti-i-el.txt

Быстро-быстро переформатировал его (благо, ничего, кроме рубрикации, там не требовалось). А потом медленно-медленно сказал себе:

Лёха, никогда, никогда, никогда больше не используй Abiword.

Ибо вдруг такая смешная ошибка выпадет на тот самый единственный случай из ста — на очень важный и очень срочный документ? И при этом — достаточно сложный для быстрого ручного переформатирования?

Abiword’у — нет!: 8 комментариев

  1. Как-то трудно поверить, что Calibre конвертирует файлы в форматы электронных книг корректно. Некоторое время назад попытка создать fb2-файл завершилась тем, что файл не прошёл валидацию при заливке на сайт. Пришлось переделывать ручками.

  2. Как ни странно, с чтением ни в одном формате проблем не обнаружил.

  3. Использовал когда-то AbiWord для формирования FB2 файлов, для этого написал XSLT конвертер из .abw в .fb2, и тот и другой это XML, и XSLT идеально предназначен для конвертации XML файлов: https://github.com/ibnteo/abw2fb

  4. Волька, да, я его видел. Увы, в нынешних версиях Abiword’а — не работает…

  5. lahzu, верно! Как некогда заметил Алексей Крюков — самое оно: сочинять полустраничную закладную записку начальству с томом Кнута на коленках.

  6. Ну, одно дело — одностраничные документы, для коих все эти ворды и предназначены, а совсем другое — книга с рубрикацией, библиографией, индексом и т.п. Как говорят в Одессе, «две большие разницы» =)

  7. lahzu, вообще-то TeX — тоже не панацея. Для книг, которые я издавал 20 лет назад (а до того даже и писал аналогичные) он подходит ничуть не больше, чем Abiword :)

Добавить комментарий