PDF417

Страница полузащищенная
Из Википедии, бесплатной энциклопедии

Образец символа PDF417

PDF417 — это сложенный линейный формат штрих-кода , используемый в различных приложениях, таких как транспорт, удостоверения личности и управление запасами. «PDF» означает «Переносимый файл данных». «417» означает, что каждый шаблон в коде состоит из 4 полосок и пробелов в шаблоне длиной 17 единиц (модулей). Символика PDF417 была изобретена доктором Инджиуном П. Вангом из компании Symbol Technologies в 1991 году. [1] Это определено в ISO 15438 .

Приложения

PDF417 используется во многих приложениях как коммерческими, так и государственными организациями. PDF417 — один из форматов (наряду с Data Matrix ), который можно использовать для печати почтовых отправлений , принимаемых Почтовой службой США . PDF417 также используется в стандарте посадочных талонов со штрих-кодом ( BCBP ) в авиационной отрасли в качестве символики двухмерного штрих-кода для бумажных посадочных талонов. PDF417 — это стандарт, выбранный Министерством внутренней безопасности в качестве технологии машиносчитываемых зон для RealID соответствующих водительских прав, , и удостоверений личности, выданных государством. Штрих-коды PDF417 также присутствуют на визах и картах для пересечения границы, выдаваемых Государством Израиль ( пример ).

Функции

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

  • Связывание. Символы PDF417 могут быть связаны с другими символами, которые сканируются последовательно, что позволяет сохранить еще больше данных.
  • Размеры, указанные пользователем. Пользователь может решить, насколько широка самая узкая вертикальная полоса (размер X) и высота строк (размер Y).
  • Формат общественного достояния. Любой может внедрить системы, использующие этот формат, без какой-либо лицензии . [2]

Во введении к документу ISO/IEC говорится: [2]

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

Формат

Штрих-код PDF417 (также называемый символом ) состоит из от 3 до 90 строк, каждая из которых похожа на небольшой линейный штрих-код. В каждой строке есть:

  • тихая зона . Это обязательное минимальное количество пробелов перед началом штрих-кода.
  • начальный шаблон, который идентифицирует формат как PDF417.
  • кодовое слово «строка слева», содержащее информацию о строке (например, номер строки и уровень исправления ошибок)
  • данных 1–30 Кодовые слова . Кодовые слова представляют собой группу полос и пробелов, представляющих одну или несколько цифр, букв или других символов.
  • кодовое слово «строка справа» с дополнительной информацией о строке.
  • стоп-образец.
  • еще одна тихая зона.

Все строки имеют одинаковую ширину; каждая строка имеет одинаковое количество кодовых слов.

Кодовые слова

PDF417 использует кодировку Base 929. Каждое кодовое слово представляет число от 0 до 928.

Кодовые слова представлены шаблонами темных (полоса) и светлых (пробел) областей. Каждый из этих шаблонов содержит четыре полосы и четыре пробела (отсюда цифра 4 в названии). Общая ширина в 17 раз превышает ширину самой узкой разрешенной вертикальной полосы (размер X); отсюда и цифра 17 в названии. Каждый шаблон начинается с черты и заканчивается пробелом.

Высота строки должна быть как минимум в 3 раза больше минимальной ширины: Y ≥ 3 X. [2] : 5.8.2 

Для представления каждого кодового слова используются три различных шаблона штрих-пространства. Эти шаблоны организованы в три группы, известные как кластеры . Кластеры помечены цифрами 0, 3 и 6. Ни один шаблон штрих-пространства не используется более чем в одном кластере. Строки символа циклически проходят через три кластера, поэтому строка 1 использует шаблоны из кластера 0, строка 2 использует кластер 3, строка 3 использует кластер 6, а строка 4 снова использует кластер 0.

Какой кластер можно определить по уравнению: [2] : 5.3.1 

Где K — номер кластера, а b i относится к ширине i -й черной полосы в символе символа (в единицах X ).

Альтернативно, [2] : 76–78 

Где E i — i- е расстояние от края до следующего того же края. Нечетные индексы — это расстояние от переднего края бара до переднего края следующего бара; четные индексы относятся к задним кромкам.

Одна из целей трех кластеров - определить, в какой строке (модуль 3) находится кодовое слово. Кластеры позволяют считывать части символа с использованием одной строки сканирования, которая может быть перекошена по горизонтали. [2] : 5.11.1  Например, сканирование может начаться с 6-й строки в начале строки, но закончиться на 10-й строке. В начале сканирования сканер видит постоянный шаблон начала, а затем видит символы в кластере 6. При перекошенном сканировании охватывает строки 6 и 7, тогда сканер видит шум. Когда сканирование выполняется в строке 7, сканер видит символы в кластере 0. Следовательно, сканер знает направление перекоса. К тому времени, когда сканер достигает правого края, он уже находится в строке 10 и видит шаблоны кластера 0. Сканер также увидит постоянную остановку.

Кодирование

Из 929 доступных кодовых слов 900 используются для данных, а 29 — для специальных функций, таких как переключение между основными режимами. Три основных режима кодируют разные типы данных по-разному и при необходимости могут комбинироваться в одном штрих-коде:

  • Байт : каждая группа из 5 кодовых слов представляет 6 байтов. (Потому что 900 5 > 256 6 .) Дополнительные байты кодируются по одному на каждое кодовое слово.
  • Числовой : n цифр кодируются в n /3 +1 кодовых словах, максимум до 44 цифр в 15 кодовых словах.
  • Текст : каждое кодовое слово представляет собой две цифры по основанию 30, которые используются системой из четырех подрежимов для представления печатных символов ASCII (плюс CR , LF и HT ):
    • Прописные буквы: A–Z, SP , переход на нижний регистр, переход на смешанный, следующая цифра интерпретируется как знак препинания.
    • Нижний регистр: a–z, SP, следующая цифра интерпретируется как прописная, переход на смешанный, следующая цифра интерпретируется как знак препинания.
    • Смешанные: 0–9, &, CR, HT, запятая, :, #, -, точка, $, /, +, %, *, =, ^, переход к пунктуации, SP, переход к нижнему регистру, переход к верхнему регистру, Интерпретировать следующую цифру как знак препинания
    • Пунктуация: ;, <, >, @, [, \, ], _, `, ~, !, CR, HT, запятая, :, LF, -, точка, $, /, ", |, *, (, ), ?, {, }, ', Перевести в верхний регистр

Исправление ошибки

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

Сравнение с другими символиками

PDF417 — это многослойный штрих-код, который можно прочитать простым линейным сканированием символа. [3] Для этих линейных сканирований нужны левый и правый столбцы с кодовыми словами начала и остановки. Кроме того, при сканировании необходимо знать, какую строку оно сканирует, поэтому каждая строка символа также должна кодировать свой номер строки. Более того, сканирование строки считывателем не будет сканировать только строку; обычно он начинает сканирование одной строки, но затем переходит к соседнему и, возможно, продолжает пересекать последующие строки. Чтобы свести к минимуму эффект этих пересечений, модули PDF417 высокие и узкие — высота обычно в три раза превышает ширину. Кроме того, каждое кодовое слово должно указывать, к какой строке оно принадлежит, чтобы можно было обнаружить пересечения, когда они происходят. Кодовые слова также предназначены для дельта-декодирования, поэтому некоторые кодовые слова являются избыточными. Каждое кодовое слово данных PDF представляет около 10 бит информации (log 2 (900) ≈ 9,8), но печатное кодовое слово (символ) имеет ширину 17 модулей. Кодовое слово PDF417, включая высоту в 3 модуля, занимает 51 квадратный модуль для представления 10 бит. В этой области не учитываются другие служебные данные, такие как начало, конец, строка, формат и информация ECC.

Другие 2D-коды, такие как DataMatrix и QR , декодируются с помощью датчиков изображения вместо нескоординированного линейного сканирования. Этим кодам по-прежнему необходимы шаблоны распознавания и согласования, но они не должны быть такими заметными. 8-битное кодовое слово будет состоять из 8 квадратных модулей (без учета распознавания, выравнивания, формата и информации ECC).

На практике символ PDF417 занимает примерно в четыре раза больше площади DataMatrix или QR-кода. [4]

Рекомендации

  1. ^ US 5243655 , Wang, Ynjiun P., «Система для кодирования и декодирования данных в машиночитаемой графической форме», опубликовано 7 сентября 1993   г. Патент PDF417.
  2. ^ Перейти обратно: а б с д Это ж ISO/IEC (2006), Информационные технологии. Методы автоматической идентификации и сбора данных. Спецификация символики штрих-кода PDF417 (PDF) (второе издание), ISO/IEC 15438:2006(E)
  3. ^ Например, серия Symbol Technologies LS-4000.
  4. ^ Использование штрих-кодов в документах – лучшие практики (PDF) , Тампа, Флорида: Accusoft, 2007, заархивировано из оригинала (PDF) 24 мая 2012 г. , получено 9 мая 2012 г.

Внешние ссылки