como OCR um arquivo pdf e obter o texto armazenado em pdf?


23

primeiro, peço desculpas se isso já foi solicitado antes - procurei por um tempo nas postagens existentes, mas não consegui encontrar suporte.

Estou interessado em uma solução para o Fedora OCR de um pdf não pesquisável de várias páginas e para transformá-lo em um novo arquivo pdf que contenha a camada de texto na parte superior da imagem. No Mac OSX ou Windows, poderíamos usar o Adobe Acrobat, mas no Linux, especificamente no Fedora?

https://snippets.webaware.com.au/howto/pdf-ocr-linux/ parece descrever uma solução - mas, infelizmente, já estou perdido ao recuperar a imagem exata.


Há um problema com o bom script pdfocr que a página à qual você está vinculando recomenda: ela se baseia no pdftk, que está essencialmente obsoleto (por duas razões, sua dependência da libgcj e do iText5 +). Então, uma solução diferente é necessário de qualquer maneira ...
Maxim

Respostas:


24

A melhor e mais fácil maneira de usá- pypdfocrlo não muda o pdf. pypdfocr é um link do módulo python aqui.

pypdfocr your_document.pdf

No final, você terá outro your_document_ocr.pdfcomo deseja com texto pesquisável. O aplicativo não altera a qualidade da imagem. Aumenta um pouco o tamanho do arquivo adicionando o texto da sobreposição.

Eu acho que o comando é bem fácil e não precisa de nenhuma interface gráfica. Talvez a instalação do pypdfocr seja um pouco mais detalhada:

sudo dnf -y install tesseract 
pip install pypdfocr 

Atualização em 3 de novembro de 2018:

pypdfocrnão é mais suportado desde 2016 e notei alguns problemas por não serem mentidos. ocrmypdf( module ) faz um trabalho semelhante e pode ser usado assim:

ocrmypdf in.pdf out.pdf

Para instalar:

pip install ocrmypdf

ou

sudo apt install ocrmypdf  #ubuntu
sudo dnf -y install ocrmypdf #fedora

por que você instala (usando o apt) ocrmypdf no ubuntu, mas instala o tessaract no fedora? Eu acho que você fez um erro de digitação
iuridiniz

@iuridiniz corrigiu isso. Foi um erro que
ocorreu

8

Depois de saber que o tesseract agora também pode produzir pdfs pesquisáveis, encontrei o sanduíche de script: http://www.tobias-elze.de/pdfsandwich/

depois de instalar dependências (essa pode não ser a lista completa)

sudo dnf install svn ocaml unpaper tesseract

Eu segui o guia do script para compilar a partir da fonte

Compilar a partir de fontes

pdfsandwich é um software de código aberto (licença: GPL). Você pode baixar os fontes como pacote .tar.bz2 na área de download no site do projeto ou verificá-los por subversão:

svn checkout svn://svn.code.sf.net/p/pdfsandwich/code/trunk/src pdfsandwich

Se o OCaml estiver instalado no seu sistema, você poderá compilar e instalar da seguinte maneira:

cd pdfsandwich
./configure
make
sudo make install

e isso agora me permite executar

sandwich multipaged-non-searchable.pdf

resultando em um pdf pesquisável.


para uma pergunta relacionada, mas separada, com base nessa, consulte unix.stackexchange.com/questions/306051/…
ingli

1
FWIW: pdfsandwich também está disponível no repositório de pacotes apt do Ubuntu. Outras distros podem ter também.
Laurence Gonsalves


Acabei de encontrar o fedoramagazine.org/4-cool-new-projects-try-copr-october-2018 mostrando um pacote COPR para o fedora que empacota o pdfsandwich
ingli


1

Eu tive esse mesmo problema, então escrevi isso no fim de semana. Dê uma chance; funciona muito bem! É um invólucro simples tesseract. Ele usa pdftoppmpara converter um PDF em um monte de arquivos TIFF, depois tesseractexecuta o OCR (reconhecimento óptico de caracteres) neles e produz um PDF pesquisável como saída. Todos os arquivos temporários intermediários são excluídos automaticamente quando o script é concluído.

Código fonte: https://github.com/ElectricRCAircraftGuy/PDF2SearchablePDF

Instruções para instalar e usar pdf2searchablepdf:

Testado no Ubuntu 18.04 em 11 de nov de 2019.

Instalar:

git clone https://github.com/ElectricRCAircraftGuy/PDF2SearchablePDF.git
./PDF2SearchablePDF/install.sh

sudo apt update
sudo apt install tesseract-ocr

Usar:

pdf2searchablepdf mypdf.pdf

Agora você terá um pdf chamado mypdf_searchable.pdf , que contém texto pesquisável!

Feito. Ele não possui dependências python, pois atualmente está escrito inteiramente no bash.

Referências ou Recursos Relacionados:

  1. PDF2SearchablePDF : https://github.com/ElectricRCAircraftGuy/PDF2SearchablePDF
  2. /ubuntu/473843/how-to-turn-a-pdf-into-a-text-searchable-pdf/1187881#1187881
  3. /ubuntu/16268/whats-the-best-simplest-ocr-solution
  4. /ubuntu/150100/extracting-embedded-images-from-a-pdf/1187844#1187844
  5. pdfsandwich : Invólucro de software alternativo que acabei de descobrir, vale a pena conferir também! http://www.tobias-elze.de/pdfsandwich/
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.