jak OCR pliku pdf i uzyskać tekst przechowywany w formacie pdf?

23

po pierwsze przepraszam, jeśli wcześniej o to pytano - szukałem przez chwilę istniejących postów, ale nie mogłem znaleźć wsparcia.

Interesuje mnie rozwiązanie dla Fedory do OCR wielostronicowego pliku PDF, którego nie można przeszukiwać, i przekształcenia tego pliku pdf w nowy plik pdf, który zawiera warstwę tekstową na górze obrazu. W Mac OSX lub Windows moglibyśmy używać Adobe Acrobat, ale w Linuksie, a konkretnie w Fedorze?

https://snippets.webaware.com.au/howto/pdf-ocr-linux/ wydaje się opisywać rozwiązanie - ale niestety jestem już zagubiony podczas pobierania dokładnego obrazu.

ingli
źródło
Występuje problem z ładnym skryptem pdfocr, który poleca strona, którą łączysz: opiera się na pdftk, który jest zasadniczo przestarzały (z dwóch powodów, jego zależności od libgcj i iText5 +). Tak czy inaczej potrzebne jest inne rozwiązanie ...
Maxim

Odpowiedzi:

24

Najlepszym i najłatwiejszym sposobem na jego użycie pypdfocrnie jest zmiana pliku pdf. pypdfocr to link do modułu python tutaj.

pypdfocr your_document.pdf

Na koniec będziesz miał inny your_document_ocr.pdfsposób, w jaki chcesz, z tekstem do przeszukiwania. Aplikacja nie zmienia jakości obrazu. Zwiększa nieco rozmiar pliku, dodając tekst nakładki.

Myślę, że polecenie jest dość łatwe, ponieważ nie wymaga GUI. Być może instalowanie pypdfocr jest nieco bardziej szczegółowe:

sudo dnf -y install tesseract 
pip install pypdfocr 

Aktualizacja 3 listopada 2018 r .:

pypdfocrnie jest już obsługiwany od 2016 r. i zauważyłem pewne problemy z powodu braku opieki. ocrmypdf( moduł ) wykonuje podobną pracę i może być używany w następujący sposób:

ocrmypdf in.pdf out.pdf

Żeby zainstalować:

pip install ocrmypdf

lub

sudo apt install ocrmypdf  #ubuntu
sudo dnf -y install ocrmypdf #fedora
Eduard Florinescu
źródło
dlaczego instalujesz (używając apt) ocrmypdf w Ubuntu, ale instalujesz tessaract w Fedorze? Myślę, że napisałeś literówkę
iuridiniz
@iuridiniz naprawił to. To był błąd, który popełnił błąd
Eduard Florinescu
8

Po dowiedzeniu się, że tesseract może teraz także tworzyć pliki PDF z możliwością wyszukiwania, znalazłem kanapkę ze skryptem: http://www.tobias-elze.de/pdfsandwich/

po zainstalowaniu zależności (może to nie być pełna lista)

sudo dnf install svn ocaml unpaper tesseract

Postępowałem zgodnie ze wskazówkami skryptu dotyczącymi kompilacji ze źródła

Kompiluj ze źródeł

pdfsandwich to oprogramowanie typu open source (licencja: GPL). Możesz pobrać źródła jako pakiet .tar.bz2 z obszaru pobierania na stronie projektu lub sprawdzić je przez subversion:

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

Jeśli OCaml jest zainstalowany w twoim systemie, możesz skompilować i zainstalować w następujący sposób:

cd pdfsandwich
./configure
make
sudo make install

a to pozwala mi teraz biegać

sandwich multipaged-non-searchable.pdf

w wyniku czego można przeszukiwać pdf.

ingli
źródło
pokrewne, ale osobne pytanie, oparte
ingli
1
FWIW: pdfsandwich jest również dostępny w repozytorium pakietów apt Ubuntu. Inne dystrybucje też mogą to mieć.
Laurence Gonsalves
unix.stackexchange.com/questions/471985/… wszelkie sugestie
Deepak Umredkar
Właśnie trafiłem na fedoramagazine.org/4-cool-new-projects-try-copr-october-2018 pokazując pakiet COPR dla fedory, który zawiera pdfsandwich
ingli
3

Łatwym narzędziem dostępnym w Ubuntu jest „ocrfeeder”, który umożliwia generowanie plików PDF z tekstem OCR nałożonym na oryginalne dokumenty. Wykorzystuje Tesseract i inne silniki OCR (nie jestem pewien, który) i zapewnia również obrót obrazu / „oderwanie” itp.

jdpipe
źródło
1

Miałem ten sam problem, więc napisałem to w weekend. Spróbuj; działa świetnie! Jest to proste opakowanie tesseract. Służy pdftoppmdo konwertowania pliku PDF na kilka plików TIFF, a następnie tesseractdo wykonania na nich OCR (optycznego rozpoznawania znaków) i wygenerowania pliku PDF z możliwością wyszukiwania jako pliku wyjściowego. Wszystkie pośrednie pliki tymczasowe są automatycznie usuwane po zakończeniu skryptu.

Kod źródłowy: https://github.com/ElectricRCAircraftGuy/PDF2SearchablePDF

Instrukcje instalacji i użytkowania pdf2searchablepdf:

Testowane na Ubuntu 18.04 11 listopada 2019 r.

Zainstalować:

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

sudo apt update
sudo apt install tesseract-ocr

Posługiwać się:

pdf2searchablepdf mypdf.pdf

Otrzymasz teraz pdf o nazwie mypdf_searchable.pdf , który zawiera tekst do przeszukiwania!

Gotowy. Nie ma zależności od Pythona, ponieważ obecnie jest napisany całkowicie w bash.

Referencje lub powiązane zasoby:

  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 : Właśnie odkryłem alternatywne opakowanie oprogramowania, które też warto sprawdzić! http://www.tobias-elze.de/pdfsandwich/
Gabriel Staples
źródło