Труды КНЦ вып.8 (ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ вып. 3/2017(8))

от PDF (строка 45), то в переменную «рат» записывается путь относительно рабочей папки и передается процессу «unoconv» с указанием пути к файлу (строка 47, shell=True служит для получения отладочной информации). Собственно конвертация осуществляется вызовом функции subprocess, call. subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False, timeout=None) - выполняет команду, описанную args. Ожидает завершения команды, а затем возвращает код возврата. Например, команда «subprocess.call('uname -г', shell=True)» выведет номер выпуска операционной системы (для CentOS 7.3 х64 установленной на сервере - «2.6.32-042stabl23.3») [9]. Далее запись о первоначально загруженном файле в БД заменяется новой записью о файле уже с расширением PDF. Последний компонент архитектуры MVC - шаблон, служит для вывода списка доступных для просмотра документов уже непосредственно языком HTML в браузере пользователя: 1{% extends "docs/base.html" %} 2{% load static %} 3{% block docs_content %} 4 5<table id="gallery" class-'tabletable-bordered"> 6 <tbody> 7{% for doc in docs %} 8 <tr> 9 <td><ahref="{{ doc.file.url }}">{{ doc.file.name }}</a></td> 10 </tr> 11{% endfor %} 12</tbody> 13</table> 14 15{% endblock %} Заключение В данной работе представлен механизм загрузки документов MS Office на сервер, работающий под управлением OS Linux (CentOS 7.3 х 64), и конвертации загруженных файлов в формат PDF. Механизм загрузки и конвер­ тации файлов реализован на языке Python с использованием фреймворка Django. Конвертация документов MS Office в формат PDF осуществляется при помощи LibreOffice и скрипта Unoconv. Поскольку все используемые инструменты являются свободно распро­ страняемыми программными продуктами, то использование связки LibreOffice+Unoconv+PDF позволяет существенно сократить расходы на сервер­ ное программное обеспечение. 170

RkJQdWJsaXNoZXIy MTUzNzYz