Mam kilka zeskanowanych dokumentów w formacie pdf i chcę je wyszukać. Jak mogę to zrobić?
Zasadniczo muszę OCR pdf, a następnie mieszam wyodrębniony tekst z powrotem do nowego pdf. Bezskutecznie wypróbowałem wiele różnych rozwiązań (w tym te znajdujące się w części Dodawanie informacji o OCR do pliku PDF ).
- pdfocr (co daje mi ten problem: https://github.com/gkovacs/pdfocr/issues/7 )
- pdfsandwich (którego centrum oprogramowania twierdzi, że jest to kiepski pakiet i nie powinienem go instalować)
- OCRfeeder (w centrum oprogramowania) ładnie eksportuje do ODT, ale nie reaguje na eksport do pdf.
- Gscan2pdf eksportuje cały czarny (ale możliwy do przeszukiwania) obraz, jak zgłoszono w tej dyskusji .
- Nie sądzę, że przeglądarka Pdfxchange poradzi sobie z robieniem ocr w locie na plikach powyżej 500 stron.
Czy jest jakiś pakiet oprogramowania, którego nie znam? Lub skrypt, który to robi?
software-recommendation
pdf
ocr
don.joey
źródło
źródło
pdf2searchablepdf
. To zależytesseract
. To dobrze działa. Bardzo łatwy w użyciu. Spójrz tutaj. askubuntu.com/a/1187881/327339Odpowiedzi:
Ubuntu <16.04
Po komentarzu Glutanimate znalazłem działające rozwiązanie. Jest to skrypt OCRmyPDF .
Jeśli pojawi się komunikat, że powinieneś zainstalować GNU równolegle. Można to zrobić (zgodnie z /ubuntu//a/298598/115155 ) za pomocą (druga linia jest opcjonalna i zależy od smaku i wersji):
Wreszcie możesz OCR swojego pliku PDF za pomocą polecenia:
Jeśli wydaje się, że polecenie nie odpowiada, możesz zwiększyć gadatliwość za pomocą
-v
flagi (której można używać przyrostowo jako-vv
lub-vvv
). Najlepiej najpierw przetestować wyniki na krótszym pliku pdf. Możesz skrócić pdf w następujący sposób:Ubuntu> = 16,04
Począwszy od Ubuntu 16.04, OCRmyPDF stał się dostępny przez apt. Po prostu biegnij
Wreszcie możesz OCR swojego pliku PDF za pomocą polecenia:
Jeśli wydaje się, że polecenie nie odpowiada, możesz zwiększyć gadatliwość za pomocą
-v
flagi (której można używać przyrostowo jako-vv
lub-vvv
). Najlepiej najpierw przetestować wyniki na krótszym pliku pdf. Możesz skrócić pdf w następujący sposób:Jeśli masz jakieś pytania, zajrzyj do nowego repozytorium Github .
źródło
sudo -H pip install git+https://github.com/jbarlow83/OCRmyPDF
dla Ubuntu 16.04sudo apt install ocrmypdf
.@ don.joey odpowiedział skryptem ocrmypdf . Można go jednak teraz zainstalować bezpośrednio (od 16.10).
Następnie musisz zainstalować potrzebne języki tesseract .
Aby wyświetlić listę języków, które są już w systemie, wpisz:
W przypadku pominięcia jednego, zainstaluj go. Na przykład,
Teraz możesz utworzyć plik PDF z możliwością wyszukiwania (którego jakość będzie się różnić w zależności od skanowanego dokumentu) za pomocą następującego polecenia
Możesz oczywiście sprawdzić jego stronę podręcznika pod kątem dodatkowych opcji.
źródło
pdfsandwich
wykonuje dokładnie tę pracę. Nie wiedziałem, że w centrum oprogramowania jest dostępny pakiet, ale udostępniam go w pakiecie debugującym Ubuntu na stronie projektu ( szczegółowe informacje można znaleźć na stronie http://www.tobias-elze.de/pdfsandwich/ ), w tym najnowszą wersję (0.1.2), która prawdopodobnie nie będzie jeszcze w żadnym centrum oprogramowania.Jeśli masz zeskanowany plik
scanned_file.pdf
, po prostu zadzwońktóry generuje plik
scanned_file_ocr.pdf
z rozpoznanym tekstem dodanym do skanowanych stron.W porównaniu do większości istniejących rozwiązań, automatycznie wykrywa zainstalowaną wersję tesseract i odpowiednio dostosowuje swoje zachowanie. Ponadto wykonuje wstępne przetwarzanie zeskanowanych obrazów przed procesem OCR, takie jak usuwanie pochylenia lub usuwanie ciemnych krawędzi itp., Co może znacznie poprawić optyczne rozpoznawanie znaków.
ZASTRZEŻENIE: Jestem programistą
pdfsandwich
i dlatego jestem bardzo stronniczy.źródło
OCRfeeder ma błąd
wiersz 436 powinien brzmieć:
zmieniłem to i zadziałało dla mnie
źródło
System operacyjny: Ubuntu 18.04
Najpierw zainstaluj za
tesseract-ocr
pomocą:Jeśli zamierzasz używać języka innego niż angielski z tesseract, musisz zainstalować odpowiedni pakiet laguage. Na przykład w przypadku języka portugalskiego musisz wykonać:
W przeciwnym razie pojawi się błąd:
Jeśli Google „tesseract PDF” prawdopodobnie znajdzie ten nieco przestarzały post . Daje to jednak kilka przydatnych wskazówek. Najpierw musisz przekonwertować
.pdf
plik na.tiff
jeden. Biegać:Jeśli, podobnie jak w nieaktualnym poście, zapomnisz dodać
alpha -Off
, pojawi się następujący błąd:Teraz możesz uruchomić ostatnie polecenie. W szczególnym przypadku, gdy oryginalny plik PDF jest w języku portugalskim, będziesz potrzebować tego polecenia:
Wygenerowany plik zostanie nazwany
output.pdf
. Jeśli na przykład Twój plik PDF jest w języku francuskim, po zainstalowaniu odpowiedniego plikutesseract-ocr-fra
uruchomisz:I pożądanym plikiem będzie ponownie
output.pdf
.źródło
Miałem ten sam problem, więc napisałem to w weekend. Spróbuj; działa świetnie! Jest to proste opakowanie
tesseract
. Używapdftoppm
do konwersji pliku PDF na kilka plików TIFF, a następnie używatesseract
do ich wykonania OCR (optycznego rozpoznawania znaków) i generowania 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ć:
Posługiwać się:
Otrzymasz teraz pdf o nazwie mypdf_searchable.pdf , który zawiera tekst do przeszukiwania!
Gotowy. Opakowanie nie ma żadnych zależności w Pythonie, ponieważ obecnie jest napisane całkowicie w bash.
Referencje lub powiązane zasoby:
pdftoppm
] Wyodrębnianie osadzonych obrazów z pliku PDFźródło