- Регистрация
- 12.04.17
- Сообщения
- 19.095
- Реакции
- 107
- Репутация
- 0
You must be registered for see links
Вы ведь любите коды? Ну или не любите. В любом случае, иногда нужно знать, как правильно ими пользоваться. Можно пойти длинным путём, как это сделал я
You must be registered for see links
, но когда времени нет, проще воспользоваться инструкцией.Итак, давайте разберёмся со всем необходимым для чтения и / или записи PDF417. Ведь не всегда под рукой найдётся смартфон с программой для их чтения. А для записи — и подавно.
Внимание, под катом — 9 изображений общим размером в 2.79 МБ, 6 таблиц и немного формул.
Оглавление
Оглавление
Часть 1. Общая информация
You must be registered for see links
You must be registered for see links
You must be registered for see links
Часть 2. Принцип кодирования
You must be registered for see links
You must be registered for see links
You must be registered for see links
You must be registered for see links
You must be registered for see links
You must be registered for see links
You must be registered for see links
You must be registered for see links
Часть 3. Читаем код
You must be registered for see links
You must be registered for see links
You must be registered for see links
You must be registered for see links
You must be registered for see links
Часть 4. Советы по кодированию
You must be registered for see links
You must be registered for see links
You must be registered for see links
Титры
You must be registered for see links
You must be registered for see links
01. История PDF417 и право использования
(
You must be registered for see links
|
You must be registered for see links
|
You must be registered for see links
)PDF417 придумали в компании Symbol Technologies Inc. в 1991 году, а 7 сентября 1993 года на него был выдан патент США под номером 5 243 655 (доступен, к примеру,
You must be registered for see links
). На самом деле, патент описывает не просто метод кодирования, а комплексную систему для кодирования и декодирования информации ("System for encoding and decoding data in machine readable graphic form"). Кроме того, не все из рекомендаций в патенте используются на данный момент.Сразу стоит отметить, что использовать PDF417 можно свободно, без лицензирования или правовых ограничений.
Единственный подводный камень: если вы хотите точно соответствовать стандарту
You must be registered for see links
, описывающему PDF417, — доступ к нему стоит 198 CHF (швейцарских франков). Именно он описывает все необходимые словари и прочее, однако большую часть информации можно легко найти в интернете. Патент, упомянутый выше, этой информации не содержит.02. Графическое представление и структура
(
You must be registered for see links
|
You must be registered for see links
|
You must be registered for see links
)Каждый символ (код) PDF417 (
You must be registered for see links
) — это набор строк информации, представленной в виде штрихового кода. Каждая строка состоит из стартового паттерна, набора ключевых слов (два из которых называются левым и правым индикаторами и помогают в автоматизированном декодировании) и стоп паттерна. Слова из разных строк формируют колонки (столбцы).Как количество строк, так и количество столбцов может варьироваться. Символ PDF417 может состоять из минимум 3 и максимум 90 строк, а также от 3 до 30 столбцов включительно.
Рис. 1. Структура PDF417 символа
Каждое слово состоит из 17 модулей (минимальных элементов), которые образуют чередующуюся последовательность из 4 заполненных и 4 пустых групп. Одна группа может быть длиной от 1 до 6 модулей.
Каждое слово представляют в виде уникальной
Каждая строка PDF417 символа использует только один из кластеров последовательно. Таким образом, если один из кластеров используется строками
You must be registered for see links
), поскольку соседние строки не могут содержать слова одной группы.Номер кластера однозначно определяется из
где
На самом деле, можно было бы использовать не 3 разных кластера, а все 9 возможных, но это увеличило бы вероятность дополнительных ошибок. Номер кластера можно определить также из номера строки:
Всего PDF417 использует 929 слов (от 000 до 928).
03. Компоненты символа
(
You must be registered for see links
|
You must be registered for see links
|
You must be registered for see links
)Каждый символ состоит из (
You must be registered for see links
):- Первого слова, кодирующего длину полезных данных, вместе с самим этим словом (
-
-
- По
Рис. 2. Компоненты символа PDF417
В случае, если количество слов с полезной информацией и проверочных слов недостаточно для формирования символа, между ними добавляются отступы (на практике в качестве отступа используется слово 900, об этом далее), которые занимают позиции
04. Режимы
(
You must be registered for see links
|
You must be registered for see links
|
You must be registered for see links
)Как уже было сказано, коды PDF417 содержат слова от 000 до 928 в виде трёх разных кластеров. Таким образом, в коде может встретится всего 2 787 разных слов.
Слова от 000 до 899 включительно используются для записи полезной информации в одном из возможных режимов кодирования.
Слова 900 : 928 — сервисные и не кодируют информацию (
You must be registered for see links
). На сегодня нам потребуются лишь слова 900, 901, 902, 913 и 924, которые сообщают об использовании одного из стандартных режимов кодирования.## | Функция | Описание |
---|---|---|
900 | Текстовый режим (TC) |