Начните с готового PDF
Откройте общедоступное приложение по ссылке выше или следуйте инструкции восстановления из ZIP ниже. Выбирайте файлы за пределами обслуживаемой папки app. Приложение сверяет номера, извлекаемые из PDF как текст. Проверяйте экранное отображение и печать обычным способом, а при необходимости выполняйте OCR отдельно.
Поддерживается: односторонние билеты по четыре на странице, два точных трёхзначных поля номеров ASCII на основной части и соответствующем корешке. Не поддерживаются: номера только в OCR/изображениях, произвольная раскладка N на странице, двусторонняя печать, QR или разрешение на печать.
PDF с текстом · до 100 MiB / 250 страниц
UTF-8 · до 1 MiB / 1000 билетов · два выбранных столбца
В режиме диапазона укажите начальный и конечный номера от 000 до 999. Число номеров, включая границы, должно быть положительным и чётным. Максимум — 500 билетов.
Проверенные среды
Результаты проверки версии 1.0.0
| Среда | Результаты проверки |
|---|---|
| Debian 13.6 Linux Firefox 153.0 · Chromium 156.0.8078.79 | Локальные автоматические тесты подтвердили сверку и скачивание обоих отчётов. Сохранённый JSON загрузили в приложение, а HTML открыли в браузере. |
| Debian 13.6 Linux Firefox 153.0 Обычная работа с браузером, пример в режиме диапазона | При обычной работе с браузером на общедоступном сайте HTTPS прошли сверка и сохранение обоих отчётов. Сохранённый JSON загрузили в приложение, а HTML открыли в браузере. |
| Debian 13.6 Linux Chromium 156.0.8078.79 Управляемая облачная среда, пример CSV с заданным диапазоном | Сверка прошла. В этой управляемой облачной среде нажатия кнопок скачивания JSON и HTML в Chromium не создали файлы. Причина не подтверждена. Повторное чтение в этом сеансе выполнить не удалось. |
| Windows, macOS и другие не указанные здесь среды | Не проверены. |
Если управляемый Chromium не сохраняет отчёты, повторите пример в Firefox 153.0 на Debian 13.6 Linux с разрешёнными скачиваниями. Прежде чем использовать этот процесс в работе, убедитесь, что оба файла сохранены.
Попробуйте прилагаемый пример с восемью билетами
Сохраните normal.pdf, stub-swap.pdf, source.csv, layout.json и expected.json по ссылкам ниже. Сначала откройте normal.pdf в приложении, затем импортируйте layout.json. Выберите режим диапазона, введите 000 и 015 и оставьте выбранными все четыре ячейки последней страницы. Пример содержит восемь билетов на двух страницах. Проверьте все страницы и просмотрите все три категории результатов. В режиме CSV выберите source.csv, запятую, включённые заголовки и столбцы 1 и 2; при включённой проверке набора по диапазону снова введите 000–015. Записи номеров в обычном файле должны совпасть. В stub-swap корешки намеренно переставлены, поэтому ожидается сообщение о несовпадении в пределах одного билета. Качество отображения в обоих файлах остаётся непроверенным. expected.json объясняет независимо зафиксированные ожидания для примера; это не профиль приложения и не сохранённый отчёт проверки.
Файлы примера
Перед покупкой проверьте оба PDF из примера в режимах диапазона и CSV. После каждой сверки сохраните JSON и HTML и убедитесь, что файлы существуют. Импортируйте JSON через «Прочитать сохранённый отчёт JSON», а HTML откройте в браузере. Сопоставьте состояние, количество записей и расположение билетов с расхождениями с данными приложения и ожидаемыми результатами примера.
1. Выберите файлы и ожидаемые значения
Режиму диапазона нужны только PDF и заявленный диапазон. Режиму CSV также нужен имеющийся CSV с двумя номерами: печатать новый идентификатор билета не требуется. Явно выберите разделитель и укажите, содержит ли первая строка заголовки. Введите два разных столбца номеров по показанной в интерфейсе нумерации, начинающейся с 1. CSV должен быть в UTF-8, при желании с BOM; поддерживаются запятая, точка с запятой, табуляция и поля в кавычках. Пустые строки/значения, лишние пробелы, полноширинные цифры и другие некорректные значения являются ошибками, а не молча исправляемыми данными. Включайте ведущие нули только при намеренном преобразовании значений CSV из 1–3 цифр ASCII в трёхзначные. Необработанные значения CSV остаются в отчёте.
Заявленный диапазон и соответствующие корешки
Каждый номер должен встречаться один раз на основной части и один раз на её собственном корешке. Исходные пары CSV не предоставлены и не проверяются.
Целые числа ASCII от 0 до 999; положительное чётное количество. PDF должен содержать точные трёхзначные значения, включая ведущие нули.
Пары из имеющегося CSV и соответствующие корешки
Сравните неупорядоченные пары и количество их повторений с имеющимся CSV. Порядок строк, билетов и значений слева/справа не имеет значения.
Без заявленного диапазона уникальность и полнота CSV не проверяются. CSV и PDF могут содержать одну и ту же ошибку.
Дополняются только значения CSV. Необработанные значения сохраняются. Значение 7 в PDF никогда не становится 007 автоматически.
2. Задайте четыре билета и их поля номеров
Схема содержит четыре непересекающиеся границы билетов в любой раскладке, не только в сетке 2 × 2. В каждой границе четыре непересекающихся поля номеров: основная часть 1, основная часть 2, корешок 1 и корешок 2. Выберите область в списке и выделите её прямоугольник в предпросмотре. Для работы с клавиатуры выберите область и измените положение слева, сверху, ширину и высоту в процентах от повёрнутой области просмотра страницы. Начальная схема — удобная заготовка, а не автоматическое распознавание или доказательство правильности полей. Перед проверкой подтвердите каждую границу и поле.
На всех страницах до последней используются все четыре ячейки. На последней выберите ровно те ячейки, которые действительно содержат билеты; неполная последняя страница может содержать один, два или три билета. Выбранное количество должно соответствовать ожидаемому числу билетов и страниц. Не отмечайте непрочитанные или ошибочные билеты как пустые, чтобы скрыть их. Текст номеров в заявленных полях пустой ячейки всё равно проверяется и диагностируется. Смешанные раскладки, обложки и двусторонние страницы не пропускаются молча.
Предпросмотр помогает разместить поля и найти расхождения. Он не проверяет качество отображения.
3. Проверьте каждую страницу
Запускайте полную проверку страниц только после подтверждения файлов, режима, параметров диапазона/CSV и областей. Следите за ходом проверки и количеством ожидаемых, обработанных и необработанных билетов. Остановленное задание или сбой ресурса сохраняет необработанное количество и никогда не считается полным совпадением. При необходимости остановите проверку, устраните проблему входных данных или ресурсов и повторите всё задание. Совпадение записей требует завершения всех обязательных сравнений; качество отображения никогда не становится проверенным.
Читайте три категории результатов отдельно
Набор номеров исходного CSV, записи номеров PDF и качество отображения/печати — отдельные выводы. CSV может не соответствовать заявленному набору, тогда как PDF точно соответствует этому же ошибочному CSV; общее задание не принимается. В режиме только CSV без диапазона уникальность и полнота источника остаются непроверенными даже при совпадении пар. В режиме диапазона исходный CSV и его первоначальные пары не предоставлены. Подтверждённое расхождение, неопределённое значение, ошибка и остановка пользователем имеют разный смысл; смотрите статус и необработанное количество, а не считайте каждый завершённый экран успехом.
- Записи номеров совпадают
- Найдены расхождения
- Некоторые записи не удалось определить
- Проверка остановлена из-за ошибки
- Проверка остановлена пользователем
- Не проверено
Расхождения и неопределённые записи
У каждого диагностического сообщения есть постоянный код, ожидаемые/наблюдаемые данные и, если доступны, страница, билет, основная часть/корешок и поле. Пока исходное задание открыто, используйте Показать место для возврата к странице и области. Ошибки CSV также указывают строку и столбец, если доступны. При несовпадении основной части и корешка проверьте обе стороны: приложение не считает одну из них правильным оригиналом. Нечитаемое или неоднозначное поле имеет неопределённый результат, а не является пустым правильным номером. Исправьте источник или определение областей вместо редактирования готового PDF в этом приложении.
4. Просмотрите и сохраните
Скачайте отчёты JSON и HTML и проверьте фактически сохранённые браузером файлы. JSON содержит машиночитаемые значения, имена входных файлов/число байтов/SHA-256, настройки, профиль, версии, количества и диагностику. HTML безопасно представляет отчёт для чтения. Откройте сохранённый JSON через Прочитать сохранённый отчёт JSON, чтобы проверить нужное сохранённое состояние и количества. Импортированные результаты относятся к прошлому: они не исследуют текущий выбранный PDF, а их позиции не заменяют новый запуск. Приложение никогда не перезаписывает исходный PDF или CSV. Считайте отчёты потенциально конфиденциальными, поскольку они намеренно включают имена выбранных файлов и номера.
Скачивание запрошено. Проверьте сохранённый файл: запрос браузера не подтверждает запись на диск.
Используйте профиль повторно и проверяйте исправления
Скачайте профиль для повторного использования после проверки всех областей и параметров. Профиль хранит схему/настройки, а не исходные файлы. Для исправленного или другого PDF сначала откройте новый файл, при необходимости импортируйте профиль и снова подтвердите размеры, поворот, области, режим ожидаемых значений и используемые ячейки последней страницы. Любое изменение входа или настройки делает текущий результат недействительным. Выполните проверку каждой страницы заново и сохраните новый отчёт, связанный с хешем нового входа. Одна правильная изменённая страница или старый отчёт не доказывают совпадение всего нового файла.
Сохраните ZIP и восстановите локальное использование
Храните неизменённую копию приобретённого ZIP с номером версии. Распакуйте его так, чтобы появилась папка app, затем откройте терминал в её родительской папке. Проверьте наличие поддерживаемого Python 3; при отсутствии получите его с официального сайта Python. Выполните указанную ниже команду и оставьте терминал открытым на время локальной работы. Откройте адрес обратной петли в настольном браузере. Клиентским PDF/CSV не место в папке app: выбирайте их из другой папки. Прямой запуск через file://, один HTML-файл и автономный запуск без установки не являются предоставленным способом восстановления.
python3 -m http.server 8765 --bind 127.0.0.1 --directory appВ Windows используйте установленный на компьютере запускатель Python, обычно py -3, с теми же аргументами. Если в системе команда называется python, а не python3, используйте эту установленную команду. Не привязывайте сервер восстановления к внешнему интерфейсу и не публикуйте его в интернете.
py -3 -m http.server 8765 --bind 127.0.0.1 --directory appЕсли порт 8765 уже занят, остановите только свой предыдущий сервер сочетанием Ctrl+C или выберите другой свободный порт, например 8766. Укажите один и тот же порт в команде сервера и адресе браузера. Закрытие вкладки не останавливает сервер; закончив, нажмите Ctrl+C в его терминале. Папка app должна содержать полную сборку выпуска, включая worker той же версии, шрифты, CMaps и другие ресурсы. При отсутствующих или несовместимых ресурсах нужно восстановить полную сборку, а не игнорировать ошибку.
python3 -m http.server 8766 --bind 127.0.0.1 --directory appДля восстановления из ZIP запустите локальный HTTP-сервер с помощью Python 3 в терминале. Откройте адрес обратной петли и повторите проверку примеров, включая сохранение и повторное открытие обоих отчётов.
Обновления и прерывание хостинга
Сохраните старый ZIP и отчёты перед распаковкой нового выпуска в отдельную папку. Прочтите номер версии и примечания к изменениям, используйте полный согласованный набор ресурсов, повторно импортируйте совместимый профиль, подтвердите все области и повторите прилагаемый пример перед производственным заданием. Не смешивайте старые и новые worker/ресурсы. Если размещённый адрес изменился или перестал работать, сохраняйте путь восстановления из ZIP и следуйте уведомлению продавца о переносе. Локальное восстановление не снимает оставшееся обязательство продавца обеспечить эквивалентный хостинг в течение приобретённого 12-месячного периода обслуживания. Бессрочное использование приобретённой версии не обещает все будущие функции или обновления браузеров.
Частые вопросы
Разрешает ли совпадение записей номеров печать?
Совпадение записей не подтверждает готовность к печати, видимые цифры, скрытый текст, обрезку, цвета или физический результат. Продолжайте обычную визуальную проверку и проверку печатных проб.
Доказывает ли совпадение диапазона исходные пары CSV?
Исходные пары CSV не предоставлены. Совпадение диапазона не позволяет проверить исходное объединение номеров в пары.
Могут ли CSV и PDF содержать одну ошибку?
Без заявленного диапазона уникальность и полнота CSV не проверяются. CSV и PDF могут содержать одну и ту же ошибку.
Почему результат поля неопределённый?
В обязательном поле может не быть читаемого текста, может быть несколько кандидатов, текст через границы, неподдерживаемая схема или недоступные ресурсы. Приложение не может объявить такое поле совпадающим путём угадывания или дополнения значений PDF нулями. Исправьте источник/настройки, используйте поддерживаемый PDF с текстом и повторите каждую страницу. Номера только в изображениях или преобразованные в контуры требуют другого процесса.
Покупка и комплект поставки
1 280 JPY с учётом налогов — разовый платёж за одного пользователя. Купленную версию можно бессрочно использовать в коммерческой работе. В ZIP входят полное приложение, необходимые ресурсы, руководства и примеры. Повторное скачивание, исправления ошибок, письменная поддержка и равноценный хостинг предоставляются в течение 12 месяцев с покупки. Сохраните ZIP. Общедоступное приложение и примеры можно попробовать до покупки.
Лицензия и текстовая поддержка
Покупка для одного пользователя: приобретённую версию можно использовать бессрочно. Распространение/повторное скачивание, исправления дефектов, текстовая поддержка и эквивалентный размещённый сервис предоставляются в течение 12 месяцев с момента покупки. Сохраните ZIP: постоянный хостинг, повторное скачивание и новые функции не обещаны. Компоненты с открытым исходным кодом сохраняют права своих лицензий.
Для поддержки сначала воспроизведите проблему на поставляемом синтетическом примере. Передайте версию приложения/браузера, диагностический код и обезличенные шаги через текстовый контакт продавца в BOOTH. Оригинальные клиентские PDF, CSV и позволяющие установить личность имена файлов не требуются в обычной процедуре.
Если вы не вошли в аккаунт, BOOTH предложит войти.