Comece com o PDF finalizado
Abra o aplicativo público pelo link acima ou siga o procedimento de recuperação pelo ZIP abaixo. Selecione os arquivos fora da pasta app servida. O aplicativo confere números extraíveis como texto no PDF. Revise a aparência e a impressão no processo habitual de revisão e faça separadamente qualquer OCR necessário.
Compatível: bilhetes de uma face, quatro por página, com dois campos de números ASCII exatos de três dígitos no corpo e no canhoto correspondente. Não compatível: números somente por OCR/imagem, disposição N por página arbitrária, frente e verso, QR ou aprovação de impressão.
PDF com texto · até 100 MiB / 250 páginas
UTF-8 · até 1 MiB / 1000 bilhetes · duas colunas selecionadas
No modo de intervalo, informe um intervalo entre 000 e 999, incluindo as duas extremidades. A quantidade de números deve ser par e positiva. O limite é de 500 bilhetes.
Ambientes testados
Resultados da versão 1.0.0
| Ambiente | Resultados observados |
|---|---|
| Debian 13.6 Linux Firefox 153.0 · Chromium 156.0.8078.79 | Os testes automatizados locais confirmaram a conferência e o download dos dois relatórios. O JSON salvo foi importado no aplicativo e o HTML foi aberto no navegador. |
| Debian 13.6 Linux Firefox 153.0 Uso normal do navegador, exemplo no modo de intervalo | No site HTTPS público, a conferência e o salvamento dos dois relatórios funcionaram com os controles normais do navegador. O JSON salvo foi importado no aplicativo e o HTML foi aberto no navegador. |
| Debian 13.6 Linux Chromium 156.0.8078.79 Nuvem gerenciada, exemplo CSV com intervalo declarado | A conferência funcionou. Nesse ambiente de nuvem gerenciado, os botões de download JSON e HTML do Chromium não geraram arquivos. A causa não foi confirmada. A releitura não pôde ser feita nessa sessão. |
| Windows, macOS e outros ambientes não listados | Não verificados. |
Se o Chromium gerenciado não salvar os relatórios, repita o exemplo no Firefox 153.0 em Debian 13.6 Linux com downloads permitidos. Antes de usar o fluxo, confirme que os dois arquivos foram salvos.
Experimente a amostra fornecida de oito bilhetes
Salve normal.pdf, stub-swap.pdf, source.csv, layout.json e expected.json pelos links abaixo. Primeiro abra normal.pdf no aplicativo e importe layout.json. Escolha o modo de intervalo, digite 000 e 015 e mantenha selecionadas as quatro células da última página. A amostra tem oito bilhetes em duas páginas. Verifique todas as páginas e revise os três eixos. No modo CSV, escolha source.csv, vírgula, cabeçalho ativado e colunas 1 e 2; com o inventário de intervalo ativado, digite 000–015 novamente. Os registros de números do arquivo normal devem corresponder. O arquivo stub-swap troca canhotos intencionalmente e deve apontar uma divergência no mesmo bilhete. A qualidade visual permanece não verificada nos dois arquivos. expected.json explica as expectativas da amostra fixadas de forma independente; não é um perfil do aplicativo nem um relatório de auditoria salvo.
Arquivos de amostra
Antes da compra, teste os dois PDFs de exemplo nos modos de intervalo e CSV. Após cada conferência, salve JSON e HTML e confirme que os arquivos existem. Importe o JSON com “Ler um relatório JSON salvo” e abra o HTML no navegador. Compare o estado, as contagens e a localização dos bilhetes com divergências com o aplicativo e os resultados esperados do exemplo.
1. Escolha os arquivos e os valores esperados
O modo de intervalo precisa apenas de um PDF e um intervalo declarado. O modo CSV também precisa do seu CSV existente com dois números: não exige um novo identificador impresso no bilhete. Escolha explicitamente o separador e marque se a primeira linha é um cabeçalho. Informe as duas colunas de números distintas usando a numeração a partir de 1 exibida na interface. O CSV deve ser UTF-8, com BOM opcional; vírgula, ponto e vírgula, tabulação e campos entre aspas são aceitos. Linhas/valores vazios, espaços extras, dígitos de largura completa e outros valores inválidos são erros, não dados corrigidos silenciosamente. Ative o preenchimento com zeros à esquerda somente quando quiser intencionalmente normalizar valores CSV de 1–3 dígitos ASCII para três dígitos. Os valores CSV brutos permanecem no relatório.
Intervalo declarado e canhotos correspondentes
Cada número deve aparecer uma vez no corpo e uma vez no próprio canhoto. Os pares do CSV original não são fornecidos nem verificados.
Inteiros ASCII de 0 a 999; uma quantidade positiva e par. O PDF deve conter valores exatos de três dígitos, incluindo zeros à esquerda.
Pares do CSV existente e canhotos correspondentes
Compare os pares sem ordem e suas multiplicidades com seu CSV existente. A ordem das linhas, dos bilhetes e dos valores à esquerda/direita não importa.
Sem um intervalo declarado, a unicidade e a cobertura do CSV permanecem não verificadas. Um CSV e um PDF podem conter o mesmo erro.
Somente os valores CSV são completados. Os valores brutos são preservados. Um valor PDF 7 nunca se torna 007 automaticamente.
2. Defina quatro bilhetes e seus campos de números
Um layout tem quatro limites de bilhetes sem sobreposição, em qualquer disposição, não apenas uma grade de 2 × 2. Cada limite contém quatro campos de números sem sobreposição: corpo 1, corpo 2, canhoto 1 e canhoto 2. Selecione uma região no seletor e desenhe seu retângulo na prévia. Para usar o teclado, selecione a região e edite esquerda, topo, largura e altura como porcentagens da área de visualização da página rotacionada. O layout inicial é uma conveniência, não detecção automática nem prova de que os campos estão corretos. Confirme cada limite e campo antes da verificação.
Todas as páginas anteriores à última usam as quatro células. Na última, selecione exatamente as células que realmente contêm bilhetes; uma última página parcial pode conter um, dois ou três. A quantidade selecionada deve corresponder às quantidades esperadas de bilhetes e páginas. Não marque bilhetes não lidos ou com falha como vazios para ocultá-los. O texto numérico nos campos declarados de uma célula vazia continua sendo verificado e diagnosticado. Layouts mistos, capas e páginas frente e verso não são ignorados silenciosamente.
A prévia ajuda a posicionar campos e localizar diferenças. Ela não verifica a qualidade visual.
3. Verifique todas as páginas
Inicie a verificação completa somente depois de confirmar arquivos, modo, opções de intervalo/CSV e regiões. Leia o progresso e as quantidades esperadas, processadas e não processadas de bilhetes. Um trabalho interrompido ou com falha de recurso mantém a quantidade não processada e nunca é uma correspondência completa. Interrompa quando necessário, resolva o problema de entrada ou recurso e execute todo o trabalho novamente. A correspondência dos registros exige concluir todas as comparações obrigatórias; a qualidade visual nunca se torna verificada.
Leia os três eixos de resultado separadamente
O inventário do CSV de origem, os registros de números do PDF e a qualidade visual/de impressão são conclusões separadas. Um CSV pode falhar em seu inventário declarado enquanto o PDF corresponde exatamente ao mesmo CSV incorreto; o trabalho combinado não é aceito. No modo somente CSV sem intervalo, a unicidade e a cobertura da origem permanecem não verificadas mesmo que os pares correspondam. No modo de intervalo, o CSV de origem e seus pareamentos originais não são fornecidos. Uma diferença confirmada, um valor indeterminado, um erro e uma interrupção pelo usuário têm significados diferentes; revise o status e a quantidade não processada em vez de considerar toda tela finalizada um sucesso.
- Os registros de números correspondem
- Diferenças encontradas
- Alguns registros não puderam ser determinados
- Verificação interrompida devido a um erro
- Verificação interrompida pelo usuário
- Não verificado
Diferenças e registros indeterminados
Cada diagnóstico tem um código estável, dados esperados/observados e, quando disponíveis, página, bilhete, corpo/canhoto e campo. Use Mostrar localização para voltar à página e à região enquanto o trabalho original estiver aberto. Erros de entrada CSV também identificam linha e coluna quando disponíveis. Revise os dois lados de uma divergência corpo/canhoto: o aplicativo não presume que um deles seja o original correto. Um campo ilegível ou ambíguo é indeterminado, não um número vazio correto. Corrija a origem ou a definição de regiões em vez de editar o PDF finalizado dentro deste aplicativo.
4. Revise e salve
Baixe os relatórios JSON e HTML e confira os arquivos realmente salvos pelo navegador. O JSON mantém valores legíveis por máquina, nomes das entradas/quantidades de bytes/SHA-256, configurações, perfil, versões, quantidades e diagnósticos. O HTML apresenta o relatório de forma segura para leitura. Use Ler um relatório JSON salvo para confirmar se o estado e as quantidades salvos são os desejados. Resultados importados são históricos: não inspecionam o PDF selecionado atualmente, e suas localizações não substituem uma nova execução. O aplicativo nunca sobrescreve o PDF ou CSV original. Trate relatórios como potencialmente sensíveis, pois incluem intencionalmente nomes de arquivos selecionados e dados numéricos.
Download solicitado. Confira o arquivo salvo; uma solicitação do navegador não confirma o armazenamento em disco.
Reutilize um perfil e verifique as correções
Baixe um perfil reutilizável depois de conferir cada região e opção. Um perfil armazena layout/configurações, não os arquivos de origem. Para um PDF corrigido ou diferente, abra primeiro o novo arquivo, importe o perfil se necessário e confirme novamente dimensões, rotação, regiões, modo de valores esperados e células usadas na última página. Qualquer entrada ou configuração alterada invalida o resultado atual. Execute todas as páginas novamente e salve um novo relatório vinculado ao hash da nova entrada. Uma página modificada correta ou um relatório antigo não comprovam a correspondência de todo o arquivo novo.
Guarde o ZIP e restaure o uso local
Guarde uma cópia não modificada do ZIP versionado comprado. Extraia-o para que a pasta app exista e abra um terminal na pasta superior. Verifique se há um Python 3 compatível instalado; se não houver, obtenha-o no site oficial do Python. Execute o comando abaixo e mantenha o terminal aberto enquanto usa o aplicativo local. Abra o endereço de loopback no navegador de desktop. PDFs/CSVs de clientes não devem ficar na pasta app: selecione-os de outra pasta. A execução direta por file://, um único arquivo HTML e inicialização offline sem instalação não são o método de recuperação fornecido.
python3 -m http.server 8765 --bind 127.0.0.1 --directory appNo Windows, use o inicializador Python instalado na sua máquina, normalmente py -3, com os mesmos argumentos. Nos sistemas em que o comando é python em vez de python3, use esse comando instalado. Não vincule este servidor de recuperação a uma interface externa nem o publique na internet.
py -3 -m http.server 8765 --bind 127.0.0.1 --directory appSe a porta 8765 já estiver em uso, pare somente seu próprio servidor anterior com Ctrl+C ou escolha outra porta livre, como 8766. Altere tanto o comando do servidor quanto o endereço do navegador para a mesma porta. Fechar a aba não para o servidor; pressione Ctrl+C no terminal dele ao terminar. A pasta app deve conter a compilação completa da versão, incluindo worker da mesma versão, fontes, CMaps e outros recursos. Recursos ausentes ou incompatíveis exigem restaurar a compilação completa, não ignorar o erro.
python3 -m http.server 8766 --bind 127.0.0.1 --directory appPara recuperar o aplicativo a partir do ZIP, inicie um servidor HTTP local com Python 3 no terminal. Abra o endereço de loopback e repita o teste dos exemplos, incluindo salvar e reabrir os dois relatórios.
Atualizações e hospedagem interrompida
Guarde o ZIP antigo e os relatórios antes de extrair uma nova versão em uma pasta separada. Leia a versão e as notas de alteração, use o conjunto completo de recursos correspondentes, reimporte um perfil compatível, confirme todas as regiões e execute novamente a amostra fornecida antes de um trabalho de produção. Não combine workers/recursos antigos e novos. Se o endereço hospedado mudar ou parar, mantenha a recuperação por ZIP e siga o aviso de mudança do vendedor. A recuperação local não elimina a obrigação restante do vendedor de oferecer hospedagem equivalente no período de serviço comprado de 12 meses. O uso por tempo indeterminado da versão comprada não promete todas as funcionalidades ou atualizações futuras de navegador.
Perguntas frequentes
A correspondência dos registros de números aprova a impressão?
A correspondência dos registros não aprova a impressão, os dígitos visíveis, textos ocultos, recortes, cores ou o resultado físico. Continue com suas provas visuais e de impressão habituais.
A correspondência de intervalo comprova os pares do CSV original?
Os pares do CSV original não foram fornecidos. A correspondência de intervalo não pode verificar o pareamento original.
O CSV e o PDF podem conter o mesmo erro?
Sem um intervalo declarado, a unicidade e a cobertura do CSV permanecem não verificadas. Um CSV e um PDF podem conter o mesmo erro.
Por que um campo é indeterminado?
Um campo obrigatório pode não ter texto legível, ter mais de um candidato, texto que cruza limites, um layout incompatível ou recursos indisponíveis. O aplicativo não pode promover esse campo a uma correspondência adivinhando ou completando valores PDF. Corrija a origem/configurações, use um PDF com texto dentro do escopo e execute todas as páginas novamente. Números somente em imagem ou convertidos em contornos precisam de outro fluxo de trabalho.
Compra e conteúdo da entrega
O pagamento único de 1.280 JPY com impostos cobre uma pessoa. A versão comprada pode ser usada comercialmente por tempo indeterminado. O ZIP inclui o aplicativo completo, os recursos necessários, os guias e os exemplos. Novos downloads, correções de falhas, suporte por escrito e hospedagem equivalente estão incluídos por 12 meses a partir da compra. Guarde o ZIP. Você pode testar o aplicativo público e os exemplos antes de comprar.
Licença e suporte por texto
Compra para um usuário: a versão comprada pode ser usada por tempo indeterminado. A distribuição/novo download, correções de defeitos, suporte por texto e um serviço hospedado equivalente são fornecidos por 12 meses a partir da compra. Guarde o ZIP; hospedagem permanente, novos downloads permanentes e novas funcionalidades não são prometidos. Os componentes de código aberto mantêm seus próprios direitos de licença.
Para obter suporte, primeiro reproduza o problema com uma amostra sintética fornecida. Envie a versão do aplicativo/navegador, o código de diagnóstico e etapas anonimizadas pelo contato de texto do vendedor no BOOTH. PDFs ou CSVs originais de clientes e nomes de arquivos que os identifiquem não são uma exigência normal.
Se você estiver desconectado, o BOOTH pedirá que entre na sua conta.