Textos Fatiados - 26 textos fatiados – Kidspace Tv
26 textos fatiados – Kidspace Tv

O problema dos textos fatiados em extração de PDFs

Se você já tentou extrair texto de um PDF e o resultado veio fragmentado, com palavras cortadas no meio, linhas embaralhadas ou trechos soltos sem conexão lógica, você já se deparou com o que chamamos de textos fatiados. O problema é extremamente comum e raramente recebe atenção adequada nos tutoriais que aparecem no Google. A maioria dos artigos ensina a usar uma ferramenta, mas quase ninguém explica por que o texto chega assim e o que fazer na prática. Antes de falar de solução, preciso deixar claro como o corte acontece. Quando um PDF é gerado a partir de um scanner ou de uma conversão mal configurada, o motor de extração de texto não tem acesso a uma estrutura semântica. Ele vê caracteres posicionados em coordenadas X e Y no espaço da página e tenta reconstruir frases com base nisso. Quando duas colunas estão lado a lado, quando há notas de rodapé, quando o texto flui em colunas desiguais ou quando há tabelas com bordas irregulares, a lógica de leitura linear quebra. O resultado são textos fatiados, sim, mas tecnicamente falando, o que temos é uma falha de parseamento estrutural.

O que são textos fatiados na prática

Textos fatiados são fragmentos de conteúdo que deveriam formar unidades coerentes — parágrafos, frases, linhas — mas chegam separados ou em sequência errada. Pode ser um parágrafo cujas palavras estão dispersas em três linhas distintas, pode ser o final de uma coluna que aparece antes do início da próxima, ou pode ser um trecho onde caracteres de uma mesma palavra foram interpretados como itens independentes. No meu dia a dia, me deparei recentemente com um PDF de relatórios financeiros antigos onde o motor de OCR misturava títulos de seções com o corpo do texto porque os cabeçalhos tinham a mesma fonte e tamanho dos parágrafos. O resultado era um fluxo contínuo onde a numeração da seção aparecia no meio de uma frase, e os parágrafos reais vinham depois, completamente descontextualizados. Gastei quase três horas tentando resolver isso com scripts regulares até perceber que o problema não era o OCR em si, mas a ausência de marcadores estruturais no documento original. A solução que funcione nesse caso específico depende inteiramente de como o PDF foi produzido. Se o arquivo vier de um escaneamento puro, você precisa trabalhar com reconhecimento de padrão visual. Se vier de uma conversão digital com falha, o caminho é diferente. Vou explicar ambos.

Como recuperar textos fatiados

O primeiro passo, e onde a maioria das pessoas erra, é entender a geometria do problema. Abra o PDF em uma ferramenta que mostre as coordenadas dos blocos de texto — o Adobe Acrobat Pro tem essa função em Modo de Edição de Objeto, mas há opções gratuitas como o PDFescape ou até scripts em Python com a biblioteca PyMuPDF que exportam a posição exata de cada linha. Anote onde cada fragmento está posicionado na página. Isso parece burocrático, mas é o que separa uma solução que funciona de várias horas de tentativa e erro. Com as coordenadas em mãos, você aplica uma lógica de reordenamento. O critério mais simples e que resolve a maior parte dos casos é: agrupe por faixa Y (linha horizontal) e depois ordene por X (da esquerda para a direita). Linhas com valores de Y próximos pertencem à mesma linha de texto. Depois, ordene essas linhas verticalmente pelo valor médio de Y para reconstruir a sequência correta. Um script Python bem simples com PyMuPDF pode fazer esse agrupamento em questão de segundos. Não precisa de nada complexo.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Para casos mais difíceis, onde há colunas múltiplas ou textos que fluem de uma coluna para outra, você precisa detectar a largura dos blocos. Se um bloco termina bruscamente no final da coluna esquerda e outro bloco começa exatamente no início da coluna direita na mesma faixa Y, eles provavelmente pertencem à mesma linha. Esse tipo de reconexão manual exige inspeção visual, mas uma vez mapeado o padrão, você consegue automatizar. Existe também a abordagem alternativa de usar OCR com configuração de layout. Ferramentas como Tesseract, com o parâmetro --psm 3 (modo automático de segmentação), costumam lidar melhor com textos fatiados do que extratores puramente geométricos porque tentam compreender o contexto visual. Porém, o Tesseract tem limitações sérias com documentos em português que contenham acentuação densa ou fontes serifadas antigas. Em testes que fiz com documentos jurídicos dos anos 2000, a taxa de erro de caracteres ficou em torno de 8 a 12 por cento, o que tornava a reconstrução posterior mais trabalhosa do que o problema original.

Erros comuns e onde as pessoas tropeçam

A armadilha mais frequente é confiar cegamente na extração automática do PDF sem nenhuma verificação. Muitas pessoas copiam o texto extraído e jogam direto em planilhas ou em processos de transformação, achando que o conteúdo está correto porque parece legível superficialmente. Textos fatiados frequentemente escondem erros sutis: uma palavra que foi cortada ao meio, um número que foi lido como letra, um parágrafo inteiro deslocado para outra seção. Eu aprendi isso da forma mais custosa possível, quando um cliente recebeu um relatório extraído de um PDF de contrato e não percebeu que cláusulas inteiras tinham sido fundidas com notas de rodapé de páginas anteriores. O prejuízo foi significativo. Outro erro comum é tentar resolver tudo com expressões regulares. Regex é útil para casos pontuais, como corrigir quebras de palavra em sílabas (aquele traço no final da linha), mas é totalmente inadequado para reconstruir a estrutura geral de um documento fatiado. Regex não entende geometria, colunas ou fluxo de leitura. Use regex apenas para limpeza pós-reconstrução, nunca como método principal.

Também vale mencionar que existem ferramentas específicas no mercado que prometem resolver o problema de forma automatizada. A maioria delas funciona bem para PDFs limpos, mas entra em colapso quando o documento tem configurações incomuns de margem, colunas assimétricas ou sobreposição de elementos gráficos. Nenhuma ferramenta commercial que eu tenha testado lida corretamente com todos os casos de textos fatiados. A solução mais confiável continua sendo uma combinação de inspeção manual dos casos problemáticos com scripts personalizados de reordenamento.

Quando vale a pena automatizar e quando não vale

Se você precisa processar dezenas ou centenas de PDFs com o mesmo padrão de formatação, investir tempo em um script de reconstrução automática se paga rapidamente. O ganho é real: o que levaria horas de revisão manual pode ser resolvido em minutos depois que o script está configurado e testado. Mas se o volume é baixo ou os documentos variam muito entre si, o custo de desenvolvimento e manutenção do script pode ultrapassar o tempo que você gastaria revisando manualmente. Nessa situação, às vezes é mais rápido abrir o PDF no Acrobat, usar a ferramenta de seleção de texto diretamente e copiar os blocos na ordem correta, mesmo que isso pareça primitivo. Para quem quer começar com algo prático, o caminho mais direto é: instalar o PyMuPDF, extrair as coordenadas de cada linha, aplicar o agrupamento por faixa Y com uma tolerância de alguns pontos (cerca de 5 a 10 pixels funciona na maioria dos casos), ordenar internamente por X dentro de cada grupo e depois ordenar os grupos por Y. O código leva menos de cinquenta linhas e já resolve a grande maioria dos textos fatiados que aparecem no dia a dia. O que não resolve são casos extremos de documentos escaneados com distorção de perspectiva ou com texto sobreposto a imagens de fundo. Nesses cenários, o melhor remédio é a Digitalizaçāo Seletiva de Imagens, que isola o texto do ruído visual antes de qualquer tentativa de reconhecimento.