Об использовании штрих-кодирования и специализированных устройств в корпоративном электронном документообороте



Скачать 165.54 Kb.
Дата10.05.2016
Размер165.54 Kb.



Об использовании штрих-кодирования и специализированных устройств в корпоративном электронном документообороте

Славин О.А., Федоров Г.О.


В статье описаны функциональные задачи систем документооборота, приводящие к необходимости использования штрих-кодов, особенности маркировки произвольных документов с помощью штрих-кодирования. Подробно описаны проблемы адаптации этикеточных принтеров и электронных весов.


  1. Документооборот с документами произвольной структуры

В настоящей статье детально описаны специализированные операции с документами произвольной структуры. Необходимость в этом была продиктована нашим участием в проекте «разработка автоматизированной системы обработки документов ООО Городисский и партнеры» (далее - заказчик), предназначенной, в частности, для регистрации собственных исходящих и чужих входящих документов. Профилем заказчика является посредническая деятельность и консалтинг в области патентных услуг. Разнообразие документов обуславливается большим числом клиентов заказчика: клиенты находятся в различных государствах, обладают различной культурой делопроизводства, используют различные программы автоматизации документооборота и средства создания бумажных документов. Очевидно, что влиять на производство чужих документов заказчик (как посредник) может в минимальной степени. Реально это влияние сводится к требованию, предъявляемому клиенту, указать в документе один или несколько ключевых реквизитов, принятых в делопроизводстве заказчика. Обеспечить унификацию и структуризацию в стиле [6] всех внешних документов по указанным причинам невозможно. Производство собственных исходящих документов унифицировано, однако, по аналогичным причинам количество их форм достаточно велико.

Входящие документы различаются по следующим признакам:


  • одностраничные и многостраничные (до 500 страниц);

  • раскрепляемые и не раскрепляемые;

  • односторонние и двусторонние;

  • черно-белые и цветные;

  • одноязычные и многоязычные;

  • различного формата (А3, А4, Legal, нестандартные);

  • бумажные и электронные (факс, e-mail);

  • обладающие структурой и не обладающие ею.

Исходящие документы также классифицируются по нескольким признакам. А именно, они могут быть:

  • одностраничными и многостраничными;

  • допускающими группировку в один конверт и не допускающими;

  • позволяющими складывать страницы и не позволяющими;

  • нуждающимися в конверте и не нуждающимися.

Все исходящие документы формируются в формате WinWord.

Разнообразие документов обуславливает специфику всех операций делопроизводства и документооборота, не допускающих стандартизации обработки бумажных и электронных документов произвольной структуры [6, 7].


2. Задачи, приводящие к необходимости маркировки документов


Обработка входящих документов производится по следующей схеме. Бумажный документ сканируется либо полностью, либо так, чтобы в электронном виде сохранялись его значимые страницы (правила отбора страниц определяются специалистами, использующими документ в дальнейшем). После сканирования, распознавания и коррекции оператором реквизитов, документу присваивается идентификатор (в делопроизводстве заказчика принят 10-значный код, состоящий из цифр), по которому его можно найти в электронном архиве. Образы автоматически принятых факсов распознаются и сохраняются в архиве аналогичном образом. Обычно, в дальнейшей работе сотрудников канцелярии и специалистов требуются как бумажные документы, так и их электронные копии. Электронные копии документов, в свою очередь, могут быть распечатаны. Видна необходимость в добавлении кода идентификатора в бумажные документы и их электронные копии. Наличие идентификатора позволяет в любой момент времени найти не только электронный аналог бумажного документа, но и извлечь из архива весь массив реквизитов, связанных с документом, в том числе - с документооборотом (исполнитель, сроки исполнения, история обработки).

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

Известен способ маркировки отсканированных документов посредством импринтера, присоединенного к сканирующему устройству. Этот путь нам не подходит из-за разнообразия документов, то есть из-за невозможности сказать заранее, в каком месте и на какой странице можно ставить маркер. Часть документов приходит в виде образов страниц, для которых место для маркировки также неизвестно заранее.

Другим известным способом внесения идентификационного кода в документы является их маркировка штрих-кодом. В проекте и в настоящей статье рассматриваются только линейные штрих-коды (ниже – штрих-коды). Алгоритмы штрих-кодирования предоставляют широкие возможности надежного считывания и простой распечатки.

В процессе выполнения проекта нам требовались следующие операции, связанные с штрих-кодами:


  • печать этикетки со штрих-кодом для наклеивания ее на свободное место в бумажном документе;

  • автоматическое нахождение свободного места в электронном образе документа (отсканированные документы, факсы) и внесение в это место штрих-кода без участия оператора;

  • автоматическое нахождение и удаление в электронном образе документа штрих-кода, внесенного способом, описанным в предыдущей операции;

  • распознавание (считывание) штрих-кода.

3. Технические возможности для шрих-кодирования
Преимуществами метода штрих-кодирования являются универсальность, надежность, быстродействие и относительная дешевизна [1]. Под универсальностью понимаются равные возможности чтения штрих-кодов, напечатанных на различном оборудовании, в различных условиях и различных местах. Универсальность обеспечивается стандартами штрих-кодов [2]. Надежность означает возможность чтения загрязненных и частично утраченных штрих-кодов и их ксерокопий. Когда говорят, что надежность (качество) распознавания составляет 100%, это нужно понимать так: либо штрих-код распознан и тогда он распознан без ошибки, либо он не распознан вообще. Быстродействие распознавания (ввода) обеспечивается специализированным сканером штрих-кодов, в памяти которого находится все необходимое программное обеспечение, а к компьютеру сканер подключается через порт клавиатуры («разрыв клавиатуры») и в драйверах не нуждается. Возможно альтернативное подключение через COM-порты. Быстродействие печати также обеспечивается специализированными, например, этикеточными принтерами. Печать из компьютера реализуется посредством использования TTF-шрифта различными приложениями, например WinWord. Минимальные цены оборудования для штрих-кодирования на 2002 год следующие:

  • $140 за сканер для чтения штрих-кодов;

  • $140 за принтер для печати этикеток.

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

Известные решения пионеров в данной области, вроде компании Итотю (CITOH), либо достойных продолжателей этого дела в лице ряда английских и американских компаний ("Bar Coding Solutions", "Aurora Barcode Tech" и другие) в основном рассчитано на предопределенную строго заданную структуру документа и на функционирование в определенной организации или группе организаций заданного типа. Таким образом, применение этой системы для работы с произвольными документами невозможно.

Отметим, что этикеточные принтеры не столь распространены как, например, лазерные. Как правило, качество их драйверов много ниже, чем у лазерных, поэтому проблемы их использования очевидны.

4. Задачи, связанные со штрих-кодированием, и предлагаемые нами способы преодоления проблем


Перечислим ряд типичных проблем, связанных с управлением печатью этикеток на этикеточном принтере:

  • существенная недостаточность документации, относящейся к программному управлению принтером (большинство документации относится к воплощению стандартных решений для систем управления торговлей);

  • отсутствие документации на русском языке;

  • необходимость в низкоуровневом программировании (что особенно удручает в условиях недостатка технической документации) - при наличии документации она часто ограничивается описанием распайки разъема порта с перечнем управляющих сигналов по каждому проводу;

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

  • известные нам программные интерфейсы не поддерживают возможность работы с русским языком.

К счастью, благодаря сходству технологических решений, языки управляющих последовательностей от разных фирм-производителей примерно соответствуют одному шаблону. Это позволило создать стандартизованную интерфейсную надстройку в виде библиотеки функций C, реализованную в форме Windows DLL.

Нами была выбрана модель этикеточного принтера EZ-4TT, одна из моделей компании Godex (CITOH), для которой, наряду с обычным языком управляющих последовательностей, в данном случае – EZPL, существовал также программный интерфейс в виде библиотеки Windows (Windows DLL) EZTTNT.DLL.

Исследование показало, что данная библиотека полностью основана на использовании языка EZPL с использованием ряда его команд, отсутствовавших в имевшейся у нас документации. К сожалению, эта библиотека не предусматривала возможности использования кириллических шрифтов при формировании этикеток. После исследования исходной библиотеки, нам пришлось написать ее аналог, поддерживающий русский язык, на основе графических команд языка EZPL. При этом мы выяснили, что контрольный символ управляющих последовательностей для нашей модели принтера не соответствует нотированному в прилагавшейся документации. Самым серьезным аргументом против использования библиотеки EZTTNT.DLL являлось ее падение в нашем контрольном примере в отладочном режиме при многократном запуске цикла печати этикетки.

Для печати этикеток (как штрих-кода, так и стандартного текста) на принтере EZ-4TT нами была разработана библиотека. Библиотека BCP представляет стандарт базового интерфейса для работы с этикеточным принтером. Библиотека основана на использовании языка управляющих последовательностей («ESC-последовательностей») EZPL и может быть довольно просто переориентирована на любой другой сходный язык управляющих последовательностей. Отметим, что библиотека поддерживает формирование этикеток с использованием русскоязычных шрифтов на основе управляющих последовательностей команд управления графикой. Библиотека BCP обладает следующими входами:




Вход

Описание

bool BCP_Init(BCP_INIT*)

Инициализация библиотеки. (Учитывает особенности работы с портами и распределением памяти)

BCP_Done(void)

Завершение работы с библиотекой

int BCP_GetErr(void)

Получить код последней ошибки

BCP_PARAMS* BCP_GetParams()

Прочесть текущие установки

bool BCP_SetParams(BCP_PARAMS*)

Установить новые параметры печати

bool BCP_Print(BCP_LABEL*)

Напечатать этикетку

bool BCP_PrintText

Напечатать текст с ручными и (или) автоматическими переносами

Для поиска свободного пространства для размещения этикетки, содержащей штрих-код и дату, в изображении использовался следующий алгоритм. В изображении происходит поиск всех компонент связности. Составляются гистограммы, содержащие проекции точек компонент связности или проекции их ограничивающих прямоугольников, для чего используются представления компонент связности, описанные в [8]. Некоторое число точек больших компонент связности, близких к границам изображения, в гистограммы не попадает. По гистограмме определяется зона, в которой может быть размещена этикета заданного заранее размера. При этом важен порядок «осмотра» гистограмм. Для документов, характерных для проекта, было целесообразно размещать этикетку в правой нижней части страницы. Если это не удается, то делаются последовательные пробы поместить этикетку в других углах образа документа. В случае неудачи алгоритм повторяется для этикетки, повернутой на 90 градусов. Результатом работы алгоритма является нахождение местоположения этикетки, либо не перекрывающей никаких компонент связности, либо попадающей внутрь большой компоненты связности, близкой к границе документа. То есть этикетка никогда не пересечется с буквами, иллюстрациями и таблицами в центре страницы. Возможен лишь случай, когда этикетка попадет внутрь большой таблицы, ограничивающей всю страницу, или аналогичной по форме компоненты связности, не имеющей отношения к содержимому документа и появившейся из-за особенностей сканирования. Успешность работы этого алгоритма на стендовом материале составила около 99,95%. Неудачные ситуации преодолеваются одним из двух следующих способов:



  • добавление пустой страницы в файл образа документа, представляющего собой многостраничный (в общем случае) TIF-Group4 файл.

  • внедрение этикетки в фиксированное место страницы, в котором нет существенной информации.

В проекте, в случае отсутствия свободного места, этикетка прикреплялась в правый нижний угол образа страницы.

Собственно, добавление информации в изображение осуществлялось с помощью стандартных средств MFC, штрих-код CODE39 формировался с помощью общедоступного шрифта C39HrP36DlTt. Общедоступность нужно понимать следующим образом: шрифт разработан ликвидированной компанией, сайт которой [4] также сменил владельца, копирайт бывшего владельца в шрифте ограничен 1993 годом. Ресурсы в интернете, позволяющие скопировать этот шрифт, содержат правдоподобные объяснения легальности такого копирования [5].

Также был разработан алгоритм нахождения собственной этикетки в образе изображения. Этот простой алгоритм базировался на знании характеристических размеров рамки этикетки и свойств чередования штрихов во внедренном штрих-коде.

Библиотека GLB формирования и удаления этикетки обладает следующими входами:




Вход

Описание

BOOL GLB_recognition(BYTE *wDIB,

RECT* prect, long *nLabelDir)



Найти в изображении wDIB прямоугольник для размещения этикетки. nLabelDir – ориентация этикетки (вертикальная или горизонтальная)

BOOL GLB_SetStamp(BYTE *wDIB, LPSTR   lpszDate, LPSTR    lpszBarCode)

Найти в изображении wDIB прямоугольник для размещения этикетки и вставить в него штрих-код lpszBarCode и дату lpszDate.

BOOL GLB_ClearStamp(BYTE *wDIB);

Найти в изображении wDIB этикетку (горизонтально или вертикально ориентированную) и стереть ее.

5. Работа с электронными весами


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

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

Однако в этом случае, после определенных поисков, мы обнаружили приятное исключение из общего ряда, причем расположенное в России: компания "Штрих-М" [3] разработала COM-компоненту, реализующую работу с электронными весами нескольких марок; мы использовали весы модели "Штрих АС mini", предоставляющие дополнительные возможности управления по сравнению с другими моделями.

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

В последней версии реализации интерфейса (4.5.0.361) был исправлен ряд мелких недочетов, после чего она существует неизменной не менее двух лет.

Техническая документация позволяет без особых затруднений использовать данную компоненту в практически любой среде программирования, например, в среде MS Visual C++. Для целей нашей задачи ряд методов данного интерфейса был инкапсулирован в отдельный надстроечный интерфейс CWeigher, обладающий следующими функциями:




Метод

Описание

bool Init();

Инициализировать компоненту и весы

bool IsReady();

Получить состояние готовности

void Free();

Деинициализировать весы

void ShowProperties();

Вывести диалог настройки компоненты управления весами

double GetWeight();

Сообщить текущий вес



Рис. 1. Схема регистрации входящих документов


6. Использование библиотек для регистрации входящих и исходящих документов
На рисунке 1 показана схема обработки входящих документов. Бумажная входящая почта оцифровывается на рабочем месте сканирования, при этом выполняются следующие операции:

  • получение уникального идентификатора в электронном архиве;

  • сканирование одного или нескольких страниц документа;

  • распечатка этикетки со штрих-кодом, содержащим идентификатор (выполняется параллельно со сканированием);

  • распознавание отсканированного изображения, поиск атрибутов и публикация в черновом режиме;

  • наклеивание оператором этикетки на свободном месте одной из первых страниц (выполняется параллельно со сканированием).

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

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

Все перечисленные операции со штрих-кодами автоматизированы программой регистрации входящих документов, написанной А.В. Соловьевым, который также является автором программы регистрации исходящих документов.

Рис. 2. Пример штрих-кода и дополнительной информации, добавляемой в образы факсов.


Образы факсов, принятые факс-модемом, распознанные и разобранные автоматически (программой регистрации факсов), и опубликованные в черновом режиме, также подлежат проверке оператором. Перед публикацией в образах факсов производится поиск свободного места для размещения штрих-кода и даты публикации и осуществляется добавление маркирующей информации; пример представлен на рисунке 2. Обратим внимание на рамку и постоянное ключевое слово Fax G&P, используемое в качестве признака собственного штрих-кода. Образам факсов свойственны некоторые особые ситуации, связанные с комплектностью одного документа, то есть многостраничного изображения в формате TIFF. Отправителем перед посылкой факса могут быть объединены несколько различных документов, а также страницы одного документа при передаче по факсу могут быть разделены на несколько порций. Сотрудник канцелярии при разборе факсов в первом случае делит многостраничное изображение на несколько частей, каждая из которых (кроме самой первой) снабжается новым штрих-кодом, а во втором случае – несколько изображений объединяются в одно, в каждом из которых (кроме самого первого) штрих-код должен быть удален.

Программа регистрации входящих документов и программа регистрации факсов пользуются функциями библиотек, описанных в пунктах 4 и 5.





Рис. 3. Схема регистрации исходящих документов

На рисунке 3 показана схема обработки исходящих документов, подготавливаемых на рабочих местах исполнителей в отделах и попадающих в канцелярию с целью упаковки в конверты и отправки на почту. В процессе производства исполнители для опубликованных исходящих документов сохраняют в архиве следующие реквизиты:


  • тип почтового отправления (российская почта, зарубежная почта, курьер);

  • тип оформления (письмо, бандероль);

  • признак группировки (позволяющий отправлять несколько документов в одном конверте);

  • формат (размер конверта);

  • признак распечатки адреса на этикетке.

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

Попавший в канцелярию документ взвешивается на электронных весах, после чего штрих-код, содержащий его уникальный идентификатор, считывается сканером штрих-кодов. События, генерируемые сканером штрих-кода, вызывают обработку документа в программе регистрации исходящих документов: извлечение необходимых реквизитов из архива и запоминание веса документа. Вслед за этим на лазерном принтере распечатывается адрес на конверте, или на этикеточном принтере выводится этикетка с адресом для наклеивания конверт. Бумажный материал упаковывается в конверт, который группируется с конвертами одного типа почтового отправления. В конце рабочего дня для каждого почтового отправления формируется реестр определенного типа. Например, в реестре для российских заказных писем указывается вес каждого письма и общий вес. Такой реестр после установки штемпеля на почте служит документом, подтверждающим отправку группы документов.

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

Очевидно, что использование библиотек GLB.DLL, BCP.DLL и класса CWeigher обеспечило полноту работы со штрих-кодами, произвольными этикетками и весами. В регистрации входящих и исходящих документов достигнуты как функциональность обработки, так и ускорение процессов регистрации.


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

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

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

Литература


[1] http://www.adams1.com/pub/russadam/39code.html

[2] ГОСТ Р 51294.9-2002 (ИСО/МЭК 15438-2001) "Автоматическая идентификация. Кодирование штриховое. Спецификации символики PDF417 (ПДФ417)".

[3] http://shtrih-m.ru/

[4] http://www.bearrock.com/

[5] http://www.hare.ru/kb/howto/article.html?id=9

[6] Арлазаров В.В., Постников В.В., Шоломов Д.Л. Cognitive Forms – система массового ввода структурированных документов. // Сборник трудов ИСА РАН «Управление информационными потоками», 2002. с. 35-46



[7] Арлазаров В.Л., Безмозгий И.М., Емельянов Н.Е. Проблемы перехода к безбумажному делопроизводству. // Сборник трудов ИСА РАН «Развитие безбумажной технологии в организационных системах», 1999. с. 3-11

[8] Славин О.А., Болотин П.В., Корольков Г.В. Методы распознавания грубых объектов. // Сборник трудов ИСА РАН «Развитие безбумажных технологий в организациях», 1999, с. 331-355


База данных защищена авторским правом ©bezogr.ru 2016
обратиться к администрации

    Главная страница