iSomor
Voltar ao blog

Por que o texto copiado de um PDF sempre fica bagunçado?

5 min de leituraFreed

Você encontra um trecho útil em um PDF e quer colocá-lo nas suas anotações, compartilhá-lo com um colega ou usá-lo como material para uma pergunta. Selecionar, copiar e colar deveria levar apenas alguns segundos.

Mas, depois de colar, uma frase aparece quebrada em várias linhas, uma palavra em inglês é dividida no meio e números de página acabam dentro do parágrafo. Você só queria extrair um trecho e agora precisa apertar Backspace várias vezes.

Se a ordem do texto está correta e apenas as linhas foram quebradas, comece unindo as quebras de linha dentro dos parágrafos e mantenha as linhas em branco entre eles. Títulos, listas e hifens no fim da linha precisam ser verificados separadamente. Se as frases de duas colunas estiverem misturadas, corrija primeiro a ordem da cópia, em vez de simplesmente apagar as quebras.

Uma linha na página não é necessariamente um parágrafo no texto

Em uma página PDF, a frase quebra quando chega à margem direita. Essa quebra visual pode existir apenas por causa do papel ou da largura da coluna; ela não significa necessariamente que o autor começou outro parágrafo.

Ao copiar, o leitor precisa reorganizar o texto da página em um fluxo de texto, mas nem sempre consegue distinguir esses dois tipos de quebra. A documentação de extração de texto do pdfminer.six explica como usar a posição e a distância entre os caracteres para agrupá-los em linhas e blocos de texto. Mesmo quando o conteúdo parece conectado na página, ele pode ser separado durante a cópia.

Veja alguns exemplos simples e como lidar com eles.

Una as frases, mas mantenha os parágrafos

Comece por um caso relativamente seguro de organizar: cada parágrafo foi dividido em duas linhas, mas ainda existe uma linha em branco entre os parágrafos.

Texto para organizar:

We copied a paragraph
from the report into our notes.

The original page remains available
for checking names and numbers.

Você pode colocar o texto no iSomor Text Cleaner e seguir estes três passos:

  1. Cole o texto. Primeiro, coloque um trecho curto em “Conteúdo original” e mantenha as linhas em branco entre os parágrafos.
  2. Escolha as opções e organize. Ative “Unir quebras de linha únicas” e “Normalizar espaços”. Deixe “Unir palavras quebradas no fim da linha” desativado por enquanto e clique em “Organizar texto”.
  3. Confira antes de usar o resultado. Compare os dois lados para confirmar que parágrafos e palavras não foram unidos incorretamente; depois copie o texto ou baixe o TXT.

Saída da ferramenta:

We copied a paragraph from the report into our notes.

The original page remains available for checking names and numbers.

A quebra dentro da frase desapareceu, mas a separação entre os dois parágrafos continua. Os espaços entre as palavras em inglês também foram preservados, então paragraph e from não ficam grudados.

Neste exemplo, uma quebra única aparece dentro do parágrafo e uma linha em branco marca a divisão entre parágrafos. Se, depois de copiar, também restar apenas uma quebra entre os parágrafos, compare com o original e acrescente a linha em branco antes de organizar.

Não remova todos os hifens no fim da linha

Em documentos em inglês, uma palavra pode ser dividida no fim da linha por causa do layout. Por exemplo:

The trans-
lation is ready for review.

Aqui, trans- e lation fazem parte da mesma palavra. Com “Unir palavras quebradas no fim da linha” ativado, a ferramenta gera:

The translation is ready for review.

Mas uma aparência parecida nem sempre deve ser tratada da mesma forma. Veja uma frase que originalmente usava cross-validation:

We used cross-
validation to compare the models.

Com a mesma opção ativada, a saída real é:

We used crossvalidation to compare the models.

A quebra desapareceu, mas o hífen que tinha significado também foi removido. Nesse caso, é preciso manter cross-validation.

Por isso, é mais seguro deixar a união de palavras desativada no início. Só use a opção depois de confirmar que a palavra foi dividida pelo layout. Se o material tiver palavras compostas ou números de modelo, organize primeiro as quebras comuns e verifique os hifens um por um.

Títulos e listas precisam de um pouco de espaço

Nem tudo que ocupa uma linha própria deve ser unido à linha seguinte.

No exemplo abaixo, a primeira linha é um título, seguida de uma explicação e uma lista:

Preparation
Keep the original PDF first.

- Check names
- Check dates
- Check amounts

Com “Unir quebras de linha únicas” e “Normalizar espaços” ativados, a ferramenta gera:

PreparationKeep the original PDF first.

- Check names
- Check dates
- Check amounts

A lista com marcadores - continua, mas o título e o texto foram unidos. Quando “Preparation” vira texto simples, sem tamanho de fonte ou negrito, uma única quebra de linha não é suficiente para reconhecê-lo como título.

Nesse tipo de material, acrescente uma linha em branco depois do título antes de organizar. Com as mesmas opções, o resultado fica assim:

Preparation

Keep the original PDF first.

- Check names
- Check dates
- Check amounts

A linha em branco mantém o título separado do texto. Listas aninhadas complexas, tabelas e fórmulas devem ser mantidas separadas, em vez de serem unidas em um único lote com parágrafos comuns.

Se a ordem já estiver errada, não se apresse para organizar as quebras

Se uma frase da coluna esquerda for seguida pelo conteúdo da coluna direita, ou se um número de página aparecer no meio de uma frase, apagar as quebras não corrige a ordem de leitura. Volte primeiro à etapa de cópia:

  • Duas colunas misturadas: Tente selecionar e copiar uma coluna ou um trecho pequeno por vez e confira a ordem colada. Se o leitor continuar misturando as colunas, experimente outro método de extração.
  • Cabeçalhos, rodapés ou números de página misturados: Compare com a página e remova apenas o que tiver confirmado como intruso. Não apague em lote todas as linhas com números; elas podem ser números de seção ou dados do texto.
  • Uma tabela virou uma sequência de texto: Confira cabeçalhos, unidades e a relação entre linhas e colunas antes de decidir se ela deve ir para uma anotação em texto simples. Menos espaços não significa que a tabela foi restaurada.
  • O texto copiado virou caracteres ilegíveis: Verifique separadamente a camada de texto ou a codificação da fonte. A organização de formato não consegue corrigir esses caracteres.
  • Uma imagem escaneada não tem texto selecionável: Primeiro é necessário usar OCR. Uma camada OCR existente também pode conter erros de reconhecimento; conseguir copiar não significa que o texto esteja correto. A documentação do pypdf diferencia PDFs com texto nativo, digitalizações compostas apenas por imagens e PDFs com uma camada OCR. A origem do texto é diferente em cada caso.

Antes de usar o resultado copiado, confira estes pontos

Depois de organizar um trecho curto, observe os pontos que mudam com mais facilidade:

  • O começo e o fim de cada parágrafo continuam corretos?
  • As palavras em inglês continuam separadas e os hifens com significado foram mantidos?
  • Títulos e listas continuam separados?
  • Números, unidades, sinais de menos e símbolos de fórmulas estão completos e no lugar certo?

Se o trecho tiver pontuação chinesa, vale também olhar ao redor desses sinais. No nosso teste, unir a quebra depois de uma vírgula deixou um espaço extra, que precisou ser removido manualmente. Confirme primeiro que o método funciona nesse trecho antes de aplicá-lo a materiais parecidos.

Se você for citar o trecho, mantenha o título do documento, o número da página ou o link e confira o texto com a fonte.

Organizar é voltar ao que você estava fazendo

O objetivo da organização do texto é eliminar algumas quebras repetidas e espaços extras, não transformar tudo em um único parágrafo. Quando o corpo do texto fica unido e títulos e listas continuam separados, o resultado fica mais fácil de reutilizar.

iSomor mostra o conteúdo original e o resultado juntos para que você veja o que mudou. Depois de conferir, você pode voltar às anotações, aos trechos selecionados e às discussões, concentrando-se no texto que queria usar desde o começo.