Macro PDF417
Macro PDF417 — это формат двумерного штрихкода, являющийся расширением стандарта PDF417, предназначенный для кодирования объёмных данных, которые не помещаются в один символ (штрихкод). В отличие от обычного PDF417, Macro PDF417 позволяет разбивать информацию на несколько логически связанных символов, объединённых в один файл или сообщение, что обеспечивает передачу и считывание данных большого объёма (до нескольких мегабайт) с высокой степенью надёжности.
История и происхождение
Формат PDF417 был разработан в 1991 году компанией Symbol Technologies (США) как высокоплотный двумерный штрихкод с коррекцией ошибок. Вскоре после его внедрения возникла потребность в кодировании данных, превышающих ёмкость одного символа (максимум около 1,1 килобайта при максимальной плотности). Для решения этой задачи была создана спецификация Macro PDF417, которая была включена в международные стандарты ISO/IEC 15438 (2001 год, последующие редакции — 2006, 2015). В России стандарт ГОСТ Р 51294.3-99 (с изменениями) также описывает требования к PDF417, включая макро-режим.
Принцип работы и структура
Macro PDF417 использует механизм сегментации данных. Одно большое сообщение (например, текстовый файл, изображение или бинарные данные) разбивается на последовательные блоки, каждый из которых кодируется в отдельный символ PDF417. Каждый символ в макро-режиме содержит служебную информацию, позволяющую считывающему устройству:
- Определить, что символ является частью макро-последовательности.
- Установить общее количество символов в файле.
- Определить порядковый номер текущего символа.
- Проверить целостность всей последовательности (контрольная сумма).
Структура данных в символе
Каждый символ Macro PDF417 состоит из двух основных частей:
- Область данных: содержит собственно закодированные данные (текст, числа, бинарные данные), как в обычном PDF417.
- Служебная область (макро-заголовок): включает поля:
- Идентификатор файла (File ID) — уникальный номер или строка, связывающая все символы одной последовательности.
- Общее количество символов (Total Number of Symbols) — число от 1 до 99 999.
- Номер текущего символа (Symbol Index) — от 0 до общего числа минус 1.
- Флаг последнего символа (Last Symbol Indicator) — указывает, является ли символ последним в последовательности.
- Контрольная сумма (File Checksum) — CRC-32 или другой алгоритм для проверки целостности всего файла.
Процесс считывания
Считывающее устройство (сканер, камера смартфона) последовательно считывает все символы Macro PDF417, извлекая из каждого служебную информацию. После сбора всех символов устройство проверяет контрольную сумму и, при её совпадении, объединяет данные в единый файл. Если какой-либо символ повреждён или утерян, устройство может запросить повторное сканирование или, при использовании коррекции ошибок, восстановить часть данных.
Отличия от обычного PDF417
| Характеристика | Обычный PDF417 | Macro PDF417 |
|---|---|---|
| Максимальный объём данных на один символ | ~1,1 КБ (при максимальной плотности) | Не ограничен (до ~1,1 КБ на символ, но общий объём — до нескольких мегабайт за счёт множества символов) |
| Количество символов | Один | Множество (до 99 999) |
| Служебная информация | Отсутствует (только данные и коррекция ошибок) | Содержит идентификатор файла, номера символов, контрольную сумму |
| Целостность данных | Проверяется только в пределах одного символа | Проверяется для всего файла (контрольная сумма) |
| Применение | Небольшие объёмы данных (визитки, билеты, небольшие документы) | Большие объёмы данных (документы, изображения, архивы, базы данных) |
Применение
Macro PDF417 нашёл применение в областях, где требуется передача или хранение значительных объёмов информации в компактном, но надёжном виде:
- Логистика и транспорт: кодирование накладных, транспортных документов, включающих несколько страниц текста и таблиц.
- Медицина: хранение полных историй болезни, результатов анализов, рецептов на несколько препаратов.
- Государственные документы: в некоторых странах (например, США, Китай) используется для кодирования данных водительских прав, паспортов, удостоверений личности. В России применяется в некоторых ведомственных системах (например, в Росреестре для кадастровых документов).
- Банковское дело и финансы: кодирование платёжных поручений, банковских выписок, договоров.
- Архивное хранение: перевод бумажных документов в цифровой вид с последующим нанесением Macro PDF417 на бумажные носители для долговременного хранения и быстрого считывания.
- Промышленность: маркировка сложных изделий (например, двигателей, турбин) с полной технической документацией.
Преимущества и недостатки
Преимущества
- Высокая ёмкость: возможность кодировать до нескольких мегабайт данных.
- Надёжность: использование коррекции ошибок (Reed-Solomon) позволяет восстанавливать до 30-40% повреждённых данных в каждом символе.
- Независимость от базы данных: вся информация хранится непосредственно на носителе (бумаге, этикетке), не требуя подключения к удалённому серверу.
- Совместимость: стандартизирован (ISO/IEC 15438), поддерживается большинством современных сканеров и программного обеспечения.
Недостатки
- Физический размер: для кодирования больших объёмов требуется печать множества символов, что увеличивает площадь носителя.
- Скорость считывания: требуется последовательное сканирование всех символов, что может быть медленнее, чем считывание одного символа.
- Чувствительность к повреждениям: хотя коррекция ошибок помогает, потеря одного символа (например, из-за физического повреждения) может сделать невозможным восстановление всего файла, если не используется избыточное кодирование.
- Сложность реализации: требует более сложного программного обеспечения для кодирования и декодирования по сравнению с обычным PDF417.
Интересные факты
- Название PDF417 расшифровывается как Portable Data File (переносимый файл данных) и число 417, обозначающее структуру символа: 4 строки, 17 модулей в каждой строке.
- Macro PDF417 используется в системе электронных паспортов США (e-Passport) для хранения биометрических данных владельца.
- В некоторых странах Macro PDF417 применяется для кодирования полных текстов законов и нормативных актов на одной странице.
- Максимальный объём данных, который можно закодировать в одном макро-файле, теоретически ограничен только числом символов (до 99 999) и ёмкостью каждого символа, что даёт возможность кодировать до нескольких сотен мегабайт.
Источники
- ISO/IEC 15438:2015 — Information technology — Automatic identification and data capture techniques — PDF417 bar code symbology specification.
- ГОСТ Р 51294.3-99 — Автоматическая идентификация. Штриховое кодирование. Символика PDF417. Общие требования.
- AIM International — Technical Specification for PDF417.
- Symbol Technologies (Motorola Solutions) — PDF417 Technical Documentation.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →