Posts

Showing posts with the label OpenDocument

mbg-opendocument-[server|client]

Внимание: при изменении версии openoffice необходимо переустановить пакет odtfactory-server . Внимание: пакеты переименованы и создан отдельный пакет с файлом конфигурации: odtfactory-client odtfactory-config odtfactory-server Ограничения для отдельного процесса конвертации (для одностраничного шаблона нужно около 200 Mb памяти, которые занимают openoffice и ява, а с указанными настройками можно обрабатывать достаточно большие документы): ulimit -m 300000 ulimit -v 300000 ulimit -f 2000 Размер выходного файла не может превышать 8 Mb, для подавляющего большинства применений этого лимита хватает с избытком. Обработчик каждого формата принимает не более 3-х одновременных подключений (настраивается в /etc/service/odt2*/run скриптах). Архитектура Клиент-серверное взаимодействие выполняется путем двусторонней передачи бинарных файлов, при этом никакая служебная информация не передается. Для контроля целостности файлов на стороне клиента и сервера следует воспользоваться анализат...

Работа с файлами формата OpenDocument

Начнем с хорошего - контейнером является все-таки стандартный zip-архив, а не что-то доморощенное. Теперь о плохом - это zip-архив и имеет все его недостатки. Поговорим о том, как же нам сделать редактирование контента для целей, например, автоматизированного вывода на печать документов - распаковываем файл content.xml, выполняем в нем нужные замены с помощью sed или другой утилиты, записываем измененный файл обратно в архив. Две основные проблемы при работе с zip-архивами: утилита zip написана страшными голово...ногими существами с неизвестной планеты и сообщения об ошибках в архиве пишет в stdout (при запуске zip -T ...). Повбивав бы... Кроме того, не умеет заменять файл в архиве, принимая сам файл в stdin, а его имя - аргументом командной строки. Решение первой проблемы - утилита unzip: $ time unzip -qqt 100.odt real 0m0.006s user 0m0.004s sys 0m0.000s $ time unzip -qqt 100 >/dev/null warning [100]: 3 extra bytes at beginning or within zipfile (attempting to process anyway) f...