Практическое сжатие документов OpenDocument в цифрах. Продолжение
Продолжая тему сжатия документов используя форматы OOXML и OpenDocument на сей раз подробнее остановлюсь на OpenDocument и затрону тему преобразования существующих форматов MS Office в формат OpenDocument и сравнение с преобразованием аналогичной выборки в OOXML с помощью b2xtranslator.
Для оценки сжимания документов использовалась выборка из 566 файлов в формате MS Word 2000/XP/2003 (.doc) из архивов Енота Поискуна суммарным объёмом в 70 745 088 байт, а то есть около 70 мегабайт. Эта выборка отличается от выборки из прошлого исследования, так как при анализе результатов преобразования в OOXML с помощью b2xtranslator оказалось что много файлов Excel преобразовались с ошибками (как я и упоминал b2xtraslator всё ещё очень сырой продукт) и для эталонной выборки была взята выборка из документов MS Word. Впрочем и здесь полагаться на результаты преобразования с помощью b2xtranslator на 100% нельзя так как он иногда портит файлы (а иногда виснет, но для этого эксперимента файлы где он вис не учитывались).
Для OpenDocument сжатие проводилось в два шага:
1. Преобразование документа в OpenDocument с помощью OpenOffice
2. Дожатие документа различными способами – пережатие контейнера, чистка мусора, сжатие картинок и так далее.
Аналогично для OOXML были два шага:
1. Преобразование документа в OOXML (WordML) с помощью b2xtranslator
2. Дожатие документа пережатием контейнера и сжатием картинок.
Особенность эксперимента в том что картинок то было совсем немного – практически небыло вовсе, отсюда главное что показывал эксперимент – это сжатие и дожатие текстовых структурированных документов.
Первый шаг
При преобразовании документов из .doc в OpenDocument их итоговый объём без пережатия составил 20 511 664 байт или 28,99% от начального объёма.
При преобразовании документов из .doc в OOXML их итоговый объём без пережатия составил 11 266 825 байт или 15,93% от начального объёма
Можно обратить внимание что документы OOXML существенно меньше что, в общем-то, выглядит несколько странно учитывая что данные там одной природы – текстовой. Можно, конечно, предположить что OOXML лучше поддаётся сжатию, но в реальности ситуация более прозаична. О ней я упоминал раньше и опишу далее.
Дожатие OpenDocument
Если в первой части эксперимента оказалось что OOXML создаваемые b2xtranslator меньше чем документы создаваемые при конвертации посредством OpenOffice, то во второй части мы посмотрим насколько они поддаются дожатию.
Для документов OpenDocument к каждому из них применялись следующие способы уменьшения их размера:
1. Удаление thumbnail и прочего “мусора’ оставляемого OpenOffice’ом
2. Пережатие изображений (если они есть)
3. Пережатие ZIP-контейнера
После всех этих операций итоговый объём документов составил 10 231 845 мегабайт или 14,46% от начального объёма.
Можно обратить внимание что документы OpenDocument после дожатия уменьшились вдвое и это показатель того насколько неэффективно OpenOffice сохраняет документы.
Дожатие OOXML
Для документов OOXML сосздаваемых b2xtranslator применялись те же оптимизационные способы что и в прошлом эксперименте:
1. Пережатие изображений (если они есть)
2. Пережатие ZIP-контейнера
Необходимость в чистке мусора отсутствовала поскольку b2xtranslator выдаёт максимально “чистый файл”, без ненужной для отображения и работы информации.
Итоговый объём документов после дожатия составил 10 937 971 мегабайт или 15,46% от начального объёма
Резюме
По результатам экспериментов можно сказать что OpenDocument ничуть не хуже чем OOXML пригоден для архивного хранения документов. Разница в 1% в пользу OpenDocument по результатам сравнения дожатых документов не столь существенна чтобы говорить о серьёзном преимуществе, но говорить о том что документы OOXML получаются значительно меньше чем OpenDocument будет некорректно.
В то же время, несмотря на положительные результаты сравнения форматов, основной проблемой использования OpenDocument можно назвать OpenOffice. В частности, значительная разница между недожатыми документами OpenDocument и OOXML состоит в том что OpenOffice всегда закладывает в файлы OpenDocument изображение thumbnail и довольно плохо сжимает ZIP-контейнер. В итоге, преобразование документов для архивного хранения в OpenDocument нужно осуществлять без использования OpenOffice, но для этого всё ещё нет подходящих инструментов или же дожимать созданные в OpenOffice файлы до приемлимого объёма.
P.S. В последнии дни мой основной блог из-за смены хостинга и обновления до Wordpress 2.8 работал с перебоями, но зеркало на Livejournal должно работать всегда. Найти его можно тут – ivbeg.livejournal.com.
Originally published at Иван Бегтин. You can comment here or there.
