Skip to content

AkelonDev/Stamps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Паспорт шаблона разработки «Штампы»

Возможности решения

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

Апробация на проектах

Использованные в решении подходы применялись на проектах:

  • Проект 1 — Бионорика- Внедрение DirectumRX;
  • Проект 2 — Рэд Винд - Внедрение DirectumRX;
  • Проект 3 — Мерц Фарм - Внедрение DirectumRX;
  • И многих других.

Состав решения

  1. Модуль Штампы (StampModule).
  2. Справочник Настройки штампов (StampSettings).
  3. Изолированная область (GenerateStampArea)
  4. Используемые внешние библиотеки: iTextSharp.dll – версия 5.5, System.Drawing.Common.dll – версия 6.0.

Варианты расширения функциональности на проектах

  1. Расширение возможностей настройки штампов, таких как введение информации для кодирования в BarCode128 и QRCode.
  2. Включение в решение работы функциональности по установке штампов средствами Aspose, реализованной в модуле «Документооборот». Обработка настроек установки штампа в клиенте системы.
  3. Обработка установки множественных штампов на документах, с указанием матрицы расположения.
  4. Создание публичной или новой версии документа по результату формирования штампа.
  5. Добавление в работу решения новых штампов, например, EAN13, Aztec, DataMatrix.

Архитектурно неочевидные моменты

  1. В справочнике «Настройки штампов», при загрузке штампа в виде стороннего изображения, введено ограничение на загрузку файлов в формате JPG и PNG. При необходимости можно расширить набор форматов, с учётом поддержи их работы с iTextSharp, использующейся для установки на PDF версию документа. При загрузке стороннего изображения, производиться определение оригинального размера картинки, выводится пользователю и доступно для изменения.
  2. Вся обработка создания и установки штампов реализована в изолированной области, с передачей настроек штампа в виде структуры.
  3. Для примера демонстрации возможностей запуска, реализовано действие на обложке модуля «Установка штампа», в группе «Пробный запуск».
  4. Решение производит изменение последней версии документа, в формате PDF. При отсутствии версии в нужном формате, запускает преобразование существующей версии в PDF, используя методы конвертации модуля «Документооборот». Преобразованное тело документа заносится новой версией, после обрабатывается установка штампа.
  5. Обработка каждого вида штампа реализована в отдельной изолированной функции, представляя более удобный подход к их использованию и модификации.
  6. Заданные строки, в вычислении изолированных функций, используются для формирования BarCode128, QRCode, штампа через Drawing, применены в качестве примера, в связи с этим не вынесены в ресурсы или константы.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages