Variable PDF Record Audit

Guia de uso e recuperação

Versão do guia 1.0.1

Abrir o aplicativo

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

AmbienteResultados 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 listadosNã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.

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 app

http://127.0.0.1:8765

Downloads oficiais do Python

No 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 app

Se 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 app

http://127.0.0.1:8766

Para 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.

Comprar no BOOTH

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.

Falar com o vendedor no BOOTH

Se você estiver desconectado, o BOOTH pedirá que entre na sua conta.