Штамп эцп






Методы передачи печатных документов


Для передачи печатной копии документа вместе с информацией об электронных подписях, можно использовать следующие подходы:

  • Печать отдельного листа согласования
  • Подписание внутри формата и вставка в текст изображения рукописной подписи
  • Вставка в текст штампа ЭП


Печать листа согласования использует давно и во многих процессах. Лист согласования легко реализуется в виде отчета. Но, не во всех процессах рационально печатать отдельный лист согласования. Например, для служебных записок, в большинстве являющихся одностраничными документами. Кроме того, лист согласования не является неотъемлемой частью документа и может быть потерян или подделан.


PDF формат позволяет устанавливать ЭП на содержание документа и визуализировать их в виде вставленного изображения подписи в текст. При этом, подписи сохраняются в теле файла. Это красивый вариант подписания, но он не совместим с системой DIRECTUM, так как DIRECTUM не обладает инструментами для работы с такими подписями, а подписание в системе блокирует документ от изменения и не позволяет подписать ту же версию внутри формата.


При печати документа со штампом с информацией об ЭП, штамп становится неотъемлемой частью документа. Штамп не требует печати дополнительных листов. Однако, штампы сложны в реализации. Формирование штампа — не тривиальная задача. Каждый формат документа имеет свою внутреннюю структуру, свои приложения редакторы и требует отдельного обработчика для вставки штампа.


Задача


Требуется реализовать возможность печати версии документа со штампом, сформированным в СЭД DIRECTUM на основе электронных подписей на ней. Механизм должен иметь поддержку основных форматов, используемых в документообороте. Штамп должен вставляться в виде изображения, что бы уменьшить вероятность его изменения и подлога. Штамп должен содержать информацию об электронных подписях на конкретной версии документа, её идентификатор и ФИО пользователя, сформировавшего штамп. Штамп должен сохранять возможность прочтения текста документа.


Проблемы реализации


На момент начала работ над данным функционалом у нас действовала система DIRECTUM версии 4.9.1. Во многом это повлияло на выбор инструментов и методов реализации. Так, механизм формирования штампов появился только в версии 5.0 и он поддерживает работу только с PDF документами.


Так же, следовало решить следующие проблемы:

  • Требуется обеспечить работу с основными офисными форматами (RTF, DOC, DOCX, XLS, XLSX и т.д.) и форматом PDF документов. Для каждого формата документа используется свой подход вставки изображения и поэтому требуется разработать как минимум 3 процедуры вставки штампов: в редактор Word, в редактор Excel и в PDF документ.
  • Штамп должен динамически создаваться в формате изображения. Что бы сохранить читаемость текста, фон штампа должен быть прозрачным.
  • Штамп не может быть сохранен в виде версии документа, так как вставка штампа — это изменение содержания документа, а подписанный документ в системе запрещено изменять.
  • Штамп не может быть динамически вставлен в текст при каждом открытии документа, так как в СЭД DIRECTUM нет возможности выполнить дополнительный программный код при открытии документа. Кроме того, просмотр документа может происходить разными способами: предпросмотр, экспорт и открытие, открытие из системы и т.д.
  • Так как штамп нельзя сохранить в документе в системе и нельзя каждый раз вставлять при просмотре документа, требуется найти удобный способ запуска этого механизма.
  • Не всегда все подписи требуется отображать в штампе. Подпись на некоторые документы может поставить любой пользователь системы с зарегистрированным сертификатом ЭП, при этом, не являясь для него согласующим или утверждающим лицом.


Описание решения


Механизм печати со штампом было решено реализовывать как дополнительный функционал в виде кнопки на карточке документа. Позже, после перехода на версию DIRECTUM 5.2.1, была добавлена возможность формировать штамп с помощью пункта контекстного меню.


Получение штампа


Штамп должен формироваться динамически, так как содержит информацию, характерную конкретной версии документа и ФИО пользователя, формирующего штамп. Желательно штамп отделить от текста документа рамкой, что бы текст штампа не сливался с текстом документа. Так же желательно вставить в штамп логотип корпорации. Такое форматирование можно описать в виде HTML документа.


Штамп необходимо формировать в виде изображения. Это с одной стороны упростит вставку штампа в различные форматы документов, а с другой, усложнит процесс подлога штампа. На штампе необходимо писать ФИО того, кто распечатал штамп, дату печати и оставлять место для подписи. Рукописная подпись в штампе подтверждает достоверность распечатанной информации.


Для преобразования HTML документа в изображение используется утилита «CutyCapt». Эта консольная утилита может преобразовывать HTML страницу в файлы формата PNG, SVG, PDF и другие. В данном решении производится преобразование HTML страницы в PNG файл с белым фоном и синим штампом.





Прозрачность фона


Полученный штамп имеет непрозрачный белый фон. Если вставлять его в документ, то штамп может перекрывать текст. Для сохранения текста в читаемом виде, требуется изменить штампу фон на прозрачный. Поиск утилит в интернете для установки прозрачности изображения в зависимости от цвета не дал результата. Поэтому, было решено реализовать такую утилиту собственными силами.


Для создания утилиты была использована C++ библиотека «libpng», С++ компилятор «Dev C++». Утилита «setTransparency» принимает PNG изображение и меняет его, устанавливая прозрачность каждому пикселю в зависимости от того, насколько близко его цвет к белому.


Вставка штампа в редакторе MS Word


Для вставки штампа в Word используется его объектная модель. Сильно помог материал Евгения Валькова. За основу взята его функция вставки изображения в Word. Система настроена на вставку штампа в верхний левый угол, но перед печатью пользователь может перенести штамп в более удобное место.


Вставка штампа в редакторе MS Excel


Вставка изображения в Excel производится так же, как и в Word, через объектную модель приложения с учетом его особенностей.


Вставка штампа в документы формата PDF


Вставка изображения в PDF документы появилась уже после перехода на версию DIRECTUM 5.2.1 и производится стандартным функционалом с помощью функции AddImageToPDFFile. Система настроена на вставку штампа в верхний левый угол документа.


Интерфейс механизма


На начальном этапе разработки получить документ со штампом можно было через кнопку на карточке документа. Это не очевидный и не удобный способ. После перехода на версию DIRECTUM 5.2.1 кнопка «Печать со штампом» была размещена в контекстном меню документа. Это позволило удобно и быстро вызывать данный функционал.


У документа может быть несколько подписанных версий разных форматов. Механизм «печати со штампом» составляет список подписанных ЭП версий, с форматами которых он может работать. Если таких больше 1, то он предоставляет выбор пользователю, какую версию следует отобразить со штампом. Если таких версий нет, то пользователь получает сообщение об этом.


После выбора версии, формируется список подписей и пользователь может выбрать, какие ЭП надо отобразить в штампе. На следующем этапе производится формирование документа со штампом и его отображение на экране.


Результаты применения решения


Применение данного механизма не ограничивается программно какими-либо маршрутами, процессами или документами, но можно выделить процессы, в которых он наиболее активно используется:

  • Электронное согласование служебных записок в DIRECTUM появилось уже давно. Теперь, при распечатке СЗ можно отобразить на ней факт согласования теми или иными службами без дополнительного листа согласования.
  • В 2016 году введен процесс электронного утверждения договорных документов между ВСМПО и дочерними организациями. Фактом утверждения являются ЭП с признаком «Утверждающая» представителей ВСМПО и дочерней организации. При передаче пакета договорных документов в электронном виде в налоговую, эти документы выгружаются и сохраняются со штампом. Для этого были сделаны доработки в системе «КАС Бизнес Люкс» и в сценарии «Экспорт договорных документов».
  • ПВК (Протокол выбора контрагента) согласуются в DIRECTUM с 2014 года. Введена обязательность ЭП в маршруте согласования. При передаче пакета договорных документов на подпись генеральному директору, ПВК печатается со штампом.


Планы и возможности развития

  • На данный момент идет внедрение механизма автоматизации процесса управления служебными записками. Этот механизм позволит создавать служебные записки на основе шаблона и направлять их на электронное согласование с руководителем подразделения. Его использование ещё больше расширит применение штампов в служебной записке. Об этом механизме рассказано в этой статье.
  • Существует возможность реализовать сценарий для интеграции с другими системами. Сценарий мог бы формировать файл со штампом на основе ИД документа DIRECTUM. Это позволит формировать документы со штампом из других систем.
  • Планируется реализовать электронное согласование и утверждение договорных документов с TISA (дочернее общество в Швейцарии). Штампы так же будут востребованы при направлении таких документов в налоговую или на аудит


Состав участников.


Исполнители:


Колесов А.Д. Разработка проектных решений.


Тарасов М.В. Разработка программной части.


Максимова Т.В., Светлолобова Е.О., Андреева Л.С., Туктарова А.В. Внедрение и сопровождение.

Источник

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Don`t copy text!
Прокрутить вверх