Como resumir um PDF longo por partes sem perder páginas e referências

Divida um PDF em lotes rastreáveis, mantenha a numeração original e confira alterações e omissões. Inclui relatório de 24 páginas e script de divisão.

Uma corda contínua conecta segmentos presos separadamente.

Quando não for possível processar um PDF inteiro de forma confiável, divida-o em lotes identificados, extraia evidências de cada um e concilie essas evidências antes de escrever o resumo. Apenas cortar o arquivo não resolve: é preciso saber quais páginas chegaram ao assistente, quais fatos foram preservados e se uma alteração posterior substitui uma informação anterior.

Este tutorial inclui um relatório fictício de 24 páginas, criado para o exercício, e um script local de divisão. O arquivo é propositalmente fácil de inspecionar. Demonstra rastreamento de páginas e conciliação de revisões; não demonstra que 24 páginas excedem a janela de contexto de um modelo nem mede sua memória em contextos longos.

Identifique o limite antes de dividir

“Longo demais” pode significar problemas diferentes. O upload pode exceder o tamanho permitido. Um documento digitalizado pode não ter texto extraível. A solicitação pode ultrapassar a entrada do modelo. A resposta pode parar por falta de espaço de saída. A ferramenta também pode aceitar o PDF e usar recuperação de trechos; isso não significa que o arquivo inteiro entrou em uma única solicitação ao modelo.

Cada causa exige uma correção. Comprimir imagens reduz bytes, mas pode não reduzir o texto extraído. Pedir um resumo menor altera a saída, não necessariamente a entrada. Trocar o nome do modelo não corrige uma rota de upload que rejeita PDF.

Examine o erro exato, se o arquivo é pesquisável, quantas páginas possui e qual tarefa foi pedida. Registre modelo e data: limites e formatos aceitos mudam. O guia de janela de contexto (em inglês) separa contexto de limite de saída. Não calcule um teto rígido de tokens multiplicando páginas ou megabytes por uma constante universal.

Use um documento com resposta conhecida

Baixe o relatório de projeto com 24 páginas, o script de divisão e os fatos de referência. Não envie as respostas de referência ao assistente antes de avaliar a extração.

O relatório traz orçamento inicial de USD 120.000 na página 1, lançamento em 15 de dezembro de 2026 na página 12, alteração da data na página 17 e alteração do orçamento na página 22. A página 9 informa que está intencionalmente em branco, exceto pela identificação. Isso permite distinguir “revisada, sem conteúdo relevante” de “não processada”.

A entrega esperada é uma tabela com data e orçamento atuais, valores anteriores, páginas de origem e a dependência que pode bloquear o piloto. Um texto fluente que ignore as alterações não conclui a tarefa. Os valores permanecem em USD, sem conversão para reais.

Crie um manifesto de cobertura antes do envio

Use Python 3 e PyMuPDF em um ambiente isolado:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install pymupdf
python split_report.py sample-project-report.pdf report-batches \
  --max-pages 6 --max-chars 12000

O script cria uma nova pasta com quatro PDFs, quatro arquivos de texto e manifest.json. Também é possível baixar os lotes preparados, gerados pelo script, não por um modelo. O script recusa reutilizar uma pasta existente para não substituir um teste anterior silenciosamente. Cada página em texto começa com o nome da fonte e o número original. O manifesto registra SHA-256 da fonte, total de páginas e quais páginas pertencem a cada lote.

O limite de caracteres é um controle do fluxo, não um tokenizador. Seis páginas por lote facilitam a conferência deste exercício. Ajuste os dois limites ao modelo, à densidade do conteúdo e ao espaço de saída. Se uma página exceder sozinha a meta de caracteres, o script a marca como excessiva, sem cortá-la silenciosamente. Divida-a por seções com sentido e mantenha a referência da página em cada seção.

A asserção do script verifica se cada página original foi atribuída exatamente uma vez. Isso demonstra cobertura dos arquivos, não que o modelo tenha lido tudo. Ainda são necessárias as evidências por lote e as verificações finais.

Examine páginas sem texto ou com leitura enganosa

Uma página sem texto extraído recebe needs-visual-review-or-OCR, não o rótulo automático de página em branco. Ela pode conter tabela digitalizada, diagrama ou anotação manuscrita. Abra a página original, determine a relevância e forneça uma imagem ou resultado de OCR por uma interface compatível.

A documentação de páginas do PyMuPDF (em inglês) trata extração de texto e OCR como operações distintas. Este script faz extração; não executa OCR automaticamente nem promete interpretar gráficos. Mesmo páginas com texto podem ter ordem de leitura incorreta. Confira colunas, notas de rodapé e tabelas na página renderizada.

Se uma tabela atravessar o limite entre lotes, mude o corte para uma divisão natural ou inclua a página adjacente como sobreposição explícita. Registre a sobreposição no manifesto e elimine duplicatas por página e fato, sem apagar indiscriminadamente frases semelhantes. O script fornecido cria lotes sem sobreposição e não identifica automaticamente limites de seções ou tabelas.

Extraia evidências de cada lote

Use o PDF quando o layout importar e o texto marcado quando a rota textual for adequada. Mantenha as saídas identificáveis por lote. Anexe o lote relevante e manifest.json, ou inclua o mapeamento no pedido. Por exemplo, o lote 3 cobre as páginas originais 13–18; sua quinta página é a página 17 do original. O texto já traz essas marcações. Não anexe o JSON com as respostas.

Em um assistente que aceita arquivos, como o Ofox Chat, confira os anexos e use o mapa original, sem confiar apenas no contador do PDF dividido. Abaixo está o prompt por lote, preservado em inglês para reprodução:

Read only this attached batch of the synthetic project report.
The supplied manifest maps batch pages to original PDF pages.

Return two tables:
1. Coverage: every assigned original page, status (reviewed, no relevant
   content, unreadable, or missing), and a short reason.
2. Evidence: decision/risk, exact value or date, approval/effective date
   if stated, original source page, a short supporting excerpt, and whether
   the source says it supersedes another value.

Extract the pilot launch date, budget, blocking dependencies and their
amendments. Preserve old and new values; do not silently reconcile them.
Do not guess facts from another batch. A blank page is reviewed only after
you inspect it. Report unreadable pages and missing attachments explicitly.
Do not use web sources or invent page references.

Salve cada resposta com o número do lote. Um único parágrafo final não oferece material para conciliar quando uma página é ignorada. Em relatórios privados, envie apenas material cujo processamento esteja autorizado e remova trechos sensíveis sem relação com a tarefa.

Concilie as evidências antes de redigir

Depois de obter tabelas dos quatro lotes, una essas tabelas em vez de pedir que o modelo se lembre de quatro conversas longas. Preserve um registro para cada afirmação apoiada pela fonte. Adote um valor novo apenas quando o documento estabelecer que substitui o anterior; a ordem cronológica, sozinha, nem sempre basta.

Merge these four evidence tables for the same source report.
For each current decision, retain the earlier value, the amendment,
approval date, original pages and supporting excerpts. Mark unresolved
conflicts instead of choosing silently. Identify missing batch outputs.

Produce:
- A current-decisions table.
- A superseded-values table.
- A page coverage table for original pages 1 through 24.
- A short summary supported only by the reconciled evidence.
List any claim that still requires checking against the original PDF.

No exercício, a data atual é 12 de janeiro de 2027, apoiada pela página 17, que substitui explicitamente a página 12. O orçamento atual é USD 135.000, apoiado pela página 22, que substitui a página 1. A página 8 exige concluir a revisão de segurança do fornecedor antes do piloto. Deixe essas referências junto das afirmações.

Não coloque as respostas conhecidas no prompt de extração e depois afirme que o modelo as descobriu. Use-as apenas para avaliar. Se houver erro, preserve a primeira saída e mostre a correção separadamente.

Confira três níveis de completude

Cobertura da entrada: todas as 24 páginas estão atribuídas no manifesto e todos os lotes existem. Upload bem-sucedido não prova processamento de todos os arquivos.

Cobertura do processamento: a saída de cada lote lista suas páginas, incluindo a ausência de conteúdo relevante na página 9. O relato do próprio modelo ajuda no controle, mas não é prova isolada. Examine o conteúdo de forma independente.

Cobertura da resposta: data, orçamento e dependência estão presentes, com alterações e referências corretas. Confira fatos do início, meio e fim, não só o primeiro parágrafo. Em documentos reais, examine também uma exceção relevante que não foi pedida, para verificar se o resumo omite uma limitação.

O exercício só passa quando os três níveis concordam. Um contador 24/24 com data antiga é uma resposta incorreta. Uma data correta atribuída à inexistente página 25 também é falha.

O que o teste real com quatro lotes entregou

Em 7 de novembro de 2026, anexamos os quatro PDFs divididos e manifest.json a uma única conversa no Ofox Chat, sem respostas de referência nem PDF integral. O pedido exigia uma aba de evidências por lote antes da conciliação, uma linha por página original, citações, valores anteriores e uma aba de exceções. Foi uma conversa com quatro lotes preparados, não quatro sessões isoladas nem um teste do limite máximo de contexto. A execução foi em inglês; esta versão traduz a mesma evidência.

Baixe a planilha real de auditoria e o relatório de decisões em Markdown. A planilha tem quatro abas de lotes, além de Coverage, Decisions e Exceptions.

CritérioResultado observado e conferido independentemente
Cobertura originalUma linha para cada página de 1 a 24, sem IDs ausentes ou duplicados
Trechos de apoioAs 29 citações correspondiam às páginas indicadas após normalizar espaços em branco
Alteração do lançamento12 de janeiro de 2027 na página 17; data anterior de 15 de dezembro de 2026 da página 12 preservada
Alteração do orçamentoUSD 135.000 na página 22; USD 120.000 da página 1 preservados
Dependência de segurançaPágina 8 mantida como pré-requisito; conclusão permaneceu desconhecida
Página 9Mantida como sem conteúdo substantivo, sem omissão silenciosa

Planilha real em inglês no Ofox Chat com páginas originais e diferenças na contagem de caracteres.

O modelo também apontou dois limites. Não conseguiu verificar o hash do PDF integral, pois ele não foi anexado; depois conferimos o hash localmente contra o original. As contagens de caracteres divergiram do manifesto em todas as páginas. Reproduzimos a diferença: a preparação usa get_text(sort=True).strip(), enquanto a auditoria correspondia a get_text() sem remover espaços nas extremidades. Ordem do texto e representação de espaços podem mudar contagens sem alterar a cobertura. Preservamos a ressalva original, sem reescrevê-la como se o modelo tivesse resolvido a divergência.

Uma diferença precisa de investigação, não de exclusão automática ou reprovação genérica. Registre o método de extração e normalize-o antes de comparar contagens. Confira o texto citado separadamente; contagens iguais também não provariam interpretação correta.

A amostra contém páginas curtas, pesquisáveis e alterações explícitas. Demonstra rastreabilidade e conciliação, não leitura confiável de qualquer relatório longo, digitalizado ou complexo. Se a autoridade de aprovação for incerta em um documento real, preserve essa incerteza na tabela de decisões.

Recupere a parte incompleta sem refazer tudo

FalhaRecuperação específica
Lote inteiro ausenteProcesse esse lote e refaça a conciliação das evidências
Fato correto, página erradaReabra a fonte e corrija o mapeamento original
Orçamento antigo no resultadoForneça as duas evidências e o texto da alteração; preserve o valor substituído
Página digitalizada sem textoRenderize ou aplique OCR e inclua o mesmo ID original
Resposta interrompidaMarque como incompleta, reduza o lote ou escopo de saída e repita só esse lote
Solicitação de conciliação grande demaisUna primeiro tabelas por seção, com referências, depois una essas tabelas; preserve os originais

Uma correção útil identifica a evidência: “Confira novamente a página original 17 e a referência à página 12; atualize a data atual e mantenha a anterior na tabela de valores substituídos.” “Deixe o resumo mais preciso” não define um resultado verificável.

Entregue um resumo que outra pessoa possa auditar

Guarde juntos PDF original, hash, manifesto, saídas dos lotes, evidências conciliadas, resumo e pendências. Se exportar um relatório PDF, siga a verificação do arquivo entregue (em inglês), não apenas da prévia. Para vários documentos independentes, use o fluxo de comparação de múltiplos PDFs (em inglês).

Comece com o relatório de exercício no Ofox Chat e mantenha a coluna de origem em cada revisão. O objetivo não é apenas fazer o arquivo caber na solicitação, mas preservar evidência suficiente para um colega conferir a resposta sem repetir o trabalho inteiro.