Como criar PDF com páginas digitalizadas, mas com texto selecionável?


32

Hoje, recebi um PDF de nosso fornecedor e ele continha várias páginas impressas e digitalizadas com assinaturas etc. Abri no Acrobat Reader DC. Mas, para minha surpresa, o texto das imagens digitalizadas evidentemente poderia ser selecionado e copiado como um texto. Veja a captura de tela:

PDF digitalizado com texto selecionável

Evidentemente, existe algum OCR por trás disso, pois o texto copiado contém erros. Mas como isso é possível? Eu nunca vi isso antes, como isso pode ser criado?


4
Pacotes como github.com/gkovacs/pdfocr permitem que isso aconteça para PDFS de imagens já existentes
exussum

Qual é a diferença entre os resultados obtidos pelo OCR em lote e muitos PDFs ?
Dmitry Grigoryev

@DmitryGrigoryev Eu nunca tinha visto esse tipo de PDF antes, então perguntei o que era. Não há nada sobre o firmware da impressora OCR ou OCRMyPDF nas respostas, tanto a pergunta quanto as respostas são muito diferentes. Não vejo nada duplicado, exceto que as duas perguntas são sobre OCR e PDFs.
Vojtěch Dohnal

Bem, nunca vi um PDF de OCR diferente do que você postou, é por isso que sua pergunta me parece estranha.
Dmitry Grigoryev

Respostas:


53

Isso tem (ao contrário de outras respostas aqui) provavelmente não tem nada a ver com o Acrobat.

A maioria (todos ?!) dos scanners de documentos profissionais e a maioria dos semi-profissionais executam automaticamente o OCR quando você escolhe "Salvar como PDF" e tem a caixa de seleção "pesquisável" marcada nas configurações. Os modelos mais baratos de "grau de consumidor" farão o OCR no PC conectado, os scanners de rede típicos o farão internamente.

A palavra "pesquisável" significa nada mais e nada menos que o scanner executará o OCR, gerará uma página com os bitmaps digitalizados e os cobrirá com caracteres invisíveis do OCR, cada um colocado sobre o respectivo caractere no bitmap.

Dessa forma, você pode pesquisar e também selecionar, copiar e colar o "bitmap" como que por mágica. Não é mágica, no entanto. Na realidade, você está apenas copiando texto invisível.

O scanner também pode fazer algumas mágicas adicionais, como compor a imagem grande de muitos blocos pequenos que também são reutilizados. Isso resulta em um tamanho de documento muito menor do que seria realmente possível, mas também pode levar a surpresas engraçadas (não tão engraçadas se acontecerem com você!), Como a Xerox altera a história de suas contas , ironicamente, mesmo quando não há OCR, dependendo no firmware.


Sim, é provavelmente como eles o criaram, duvido muito que eles usem o Adobe Acrobat completo.
Vojtěch Dohnal

Fizemos isso colocando todo o texto atrás da imagem digitalizada, onde o OCR relatou onde encontrou cada nó de texto.
Thorbjørn Ravn Andersen

10

Mas como isso é possível?

Basicamente, um programa executa OCR no arquivo de entrada e, em seguida, coloca uma camada invisível de texto sobre a imagem. Como alternativa, também pode colocar uma camada visível de texto embaixo da imagem, dando o mesmo efeito.

Quando você seleciona algo, a imagem não importa, porque a camada de texto é selecionada.

como isso pode ser criado?

Existem várias maneiras. Como o Acrobat já foi sugerido, adicionarei algumas opções gratuitas (e felizmente você não é obrigado a ter o Windows para usá-las).

Visualizador de PDF-XChange

Este é um programa Windows nativo da Tracker Software . A versão do freeware funciona bem no Wine se você usar a edição de 32 bits em um prefixo de 32 bits; portanto, você pode usá-lo no Windows, macOS e Linux. Nos dois últimos casos, você precisaria do PlayOnMac ou PlayOnLinux, respectivamente.

Aqui está uma foto desta resposta que eu deixei no Ask Ubuntu:

Captura de tela do PDF-XChange Viewer no Wine

OCRmyPDF

Este é um programa multiplataforma escrito em Python , baseado em Ghostscript, Tesseract e Unpaper. Dos documentos:

O que o OCRmyPDF faz

O OCRmyPDF analisa cada página de um PDF para determinar o espaço de cores e a resolução (DPI) necessários para capturar todas as informações nessa página sem perder o conteúdo. Ele usa o Ghostscript para rasterizar a página e, em seguida, executa no OCR na imagem rasterizada para criar uma "camada" de OCR. A camada é então enxertada de volta no PDF original.

Pode ser facilmente instalado nos derivados Debian e Ubuntu:

apt-get install ocrmypdf

Ou no macOS:

brew tap jbarlow83/ocrmypdf
brew install ocrmypdf

No Windows, você precisaria usar a imagem do Docker. Consulte os documentos oficiais para obter detalhes.

O uso é muito simples e eu sugiro que você use os parâmetros opcionais -d(deskew) e -c(clean) para obter melhores resultados. Ele endireitará todas as páginas e limpará pequenos pontos / imperfeições antes de executar o processo de OCR.

Você pode (e deve) fornecer o idioma -l.

Aqui está um exemplo deste documento distorcido escrito em italiano:

Exemplo para OCRmyPDF

O comando que eu usei foi:

ocrmypdf -l ita -d -c input.pdf output.pdf

Ferramentas online

Existem algumas ferramentas online que fazem o mesmo. Notável, o PDF24 hospeda uma versão gratuita do OCRmyPDF baseada na Web que pode ser usada sem limitações.

Veja também:


Obrigado por esta resposta, eu tentei o OCRMyPDF e funcionou muito bem, mas infelizmente o suporte ao idioma de que eu preciso ainda não está maduro, portanto os resultados ainda não eram muito úteis.
Vojtěch Dohnal

@ VojtěchDohnal, em que idioma você está interessado? Você instalou o pacote de idiomas relevante para o Tesseract? Veja a lista aqui: macports.org/ports.php?by=name&substr=tesseract-
Andrea Lazzarotto

4

Isso possivelmente ocorre devido a um recurso do Acrobat OCR :

O Acrobat pode reconhecer texto em qualquer arquivo PDF ou de imagem em dezenas de idiomas. Tudo o que você precisa fazer é abrir o documento ou a imagem digitalizada que deseja OCR e clicar no botão azul Ferramentas no canto superior direito da barra de ferramentas. Na barra lateral, selecione a guia Reconhecer texto e clique no botão Neste arquivo.

...

Com o texto reconhecido, agora você pode marcar o PDF usando todas as ferramentas normais de marcação - você pode realçar, riscar texto e muito mais . Você pode até copiar o texto com a formatação detectada, embora isso geralmente seja menos preciso que o próprio reconhecimento de texto.


Isso funciona no Reader também? Outros documentos não funcionam dessa maneira para mim ...
Vojtěch Dohnal

Receio que não, mas dê uma olhada neste artigo: pdf.wondershare.com/pdf-software-comparison/…
duDE

3

No site da Adobe

Reconhecer texto em um arquivo PDF digitalizado

Ao digitalizar documentos em papel para PDF, você está realmente apenas tirando fotos desses documentos. Isso é ótimo para fotos e outras imagens impressas, mas e se você tiver um documento de 200 páginas no qual precisa encontrar uma palavra ou frase específica? Use o Acrobat para reconhecer o texto nesse arquivo digitalizado, tornando o conteúdo do texto pesquisável e utilizável.

  1. Com o documento digitalizado aberto no Acrobat, abra o painel Ferramentas e expanda o painel Reconhecimento de texto. Se você não conseguir ver "Reconhecimento de texto" no painel Ferramentas, poderá adicioná-lo selecionando o menu no canto superior direito (imagem abaixo - veja para onde a pequena seta vermelha está apontando? Clique aqui).
  2. Clique em "Neste arquivo" para digitalizar o documento que você abriu. Você pode simplesmente aceitar as configurações padrão e clicar em "OK" quando a caixa Reconhecer texto aparecer. O Acrobat converterá a imagem em texto utilizável; para testá-lo, tente editar uma palavra ou frase com o painel Edição de conteúdo. Isso não é demais?

Obrigado, mas eu apenas abri o PDF no Reader DC e fez nada de especial com ele, outros documentos PDF com páginas digitalizadas não funcionam dessa maneira automaticamente ...
Vojtěch Dohnal

5
O OCR foi feito ANTES de você receber o arquivo, quando o texto é reconhecido, ele é salvo junto com o pdf.
Máté Juhász

@ VojtěchDohnal Você provavelmente precisa de um acrobata completo, não apenas do leitor #
Thorbjørn Ravn Andersen
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.