Làm thế nào để OCR một tệp pdf và nhận được văn bản được lưu trữ trong pdf?


23

đầu tiên, xin lỗi nếu điều này đã được hỏi trước đây - tôi đã tìm kiếm một lúc qua các bài đăng hiện có, nhưng không thể tìm thấy sự hỗ trợ.

Tôi quan tâm đến một giải pháp cho Fedora để OCR một bản pdf không thể tìm kiếm được và để biến pdf này thành một tệp pdf mới có chứa lớp văn bản ở trên cùng của hình ảnh. Trên Mac OSX hoặc Windows, chúng ta có thể sử dụng Adobe Acrobat, nhưng trên Linux, cụ thể là trên Fedora?

https://snippets.webkn.com.au/howto/pdf-oc-linux/ dường như mô tả một giải pháp - nhưng thật không may, tôi đã bị mất khi lấy hình ảnh chính xác.


Có một vấn đề với tập lệnh pdfoc đẹp mà trang bạn đang liên kết đề xuất: nó phụ thuộc vào pdftk mà về cơ bản không được dùng nữa (vì hai lý do, sự phụ thuộc của nó vào libgcj và trên iText5 +). Vì vậy, dù sao cũng cần một giải pháp khác ...
Maxim

Câu trả lời:


24

Cách tốt nhất và dễ nhất là sử dụng pypdfocrnó không thay đổi pdf. pypdfoc là một liên kết mô-đun python ở đây.

pypdfocr your_document.pdf

Cuối cùng, bạn sẽ có một your_document_ocr.pdfcách khác mà bạn muốn với văn bản có thể tìm kiếm. Ứng dụng không thay đổi chất lượng của hình ảnh. Tăng kích thước của tệp một chút bằng cách thêm văn bản lớp phủ.

Tôi nghĩ rằng lệnh này khá dễ dàng mà nó không cần bất kỳ GUI nào. Có lẽ cài đặt pypdfoc là một chút dài dòng hơn:

sudo dnf -y install tesseract 
pip install pypdfocr 

Cập nhật ngày 3 tháng 11 năm 2018:

pypdfocrkhông còn được hỗ trợ kể từ năm 2016 và tôi nhận thấy một số vấn đề do không được lưu ý. ocrmypdf( mô-đun ) thực hiện một công việc quen thuộc và có thể được sử dụng như thế này:

ocrmypdf in.pdf out.pdf

Để cài đặt:

pip install ocrmypdf

hoặc là

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

Tại sao bạn cài đặt (sử dụng apt) ocrmypdf trong ubfox, nhưng cài đặt tessaract trong fedora? Tôi nghĩ bạn đã mắc lỗi đánh máy
iuridiniz

@iuridiniz đã sửa nó. Đó là một sai lầm xảy ra
Eduard Florinescu

8

Sau khi biết rằng tesseract bây giờ cũng có thể tạo ra các tệp pdf có thể tìm kiếm, tôi đã tìm thấy đoạn mã sandwich: http://www.tobias-elze.de/pdfsandwich/

sau khi cài đặt phụ thuộc (đây có thể không phải là danh sách đầy đủ)

sudo dnf install svn ocaml unpaper tesseract

Tôi đã làm theo hướng dẫn của kịch bản để biên dịch từ nguồn

Tổng hợp từ các nguồn

pdfsandwich là phần mềm nguồn mở (giấy phép: GPL). Bạn có thể tải xuống các nguồn dưới dạng gói .tar.bz2 từ khu vực tải xuống trên trang web của dự án hoặc kiểm tra chúng bằng cách lật đổ:

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

Nếu OCaml được cài đặt trên hệ thống của bạn, bạn có thể biên dịch và cài đặt như sau:

cd pdfsandwich
./configure
make
sudo make install

và điều này bây giờ cho phép tôi chạy

sandwich multipaged-non-searchable.pdf

dẫn đến một pdf có thể tìm kiếm.


đối với một câu hỏi có liên quan, nhưng riêng biệt, dựa trên câu hỏi này, xem unix.stackexchange.com/questions/306051/ Ấn
ingli

1
FWIW: pdfsandwich cũng có sẵn trong kho gói apt của Ubuntu. Các distro khác có thể có nó là tốt.
Laurence Gonsalves


Vừa đi qua fedoramagazine.org/4-cool-new-projects-try-copr-oc/10-2018 hiển thị gói COPR cho fedora gói pdfsandwich
ingli

3

Một công cụ dễ dàng có sẵn trong Ubuntu là 'ocrfeeder', nó cho phép tạo các tệp PDF với văn bản OCR được phủ lên trên các tài liệu gốc. Nó sử dụng Tesseract cộng với các công cụ OCR khác (không chắc chắn) và cũng cung cấp cho xoay hình ảnh / 'không giấy tờ', v.v.


1

Tôi đã có cùng một vấn đề vì vậy tôi đã viết nó vào cuối tuần. Cho nó một phát súng; nó hoạt động rất tốt Nó là một gói đơn giản xung quanh tesseract. Nó sử dụng pdftoppmđể chuyển đổi một tệp PDF thành một loạt các tệp TIFF, sau đó nó sử dụng tesseractđể thực hiện OCR (Nhận dạng ký tự quang học) trên chúng và tạo ra một tệp PDF có thể tìm kiếm làm đầu ra. Tất cả các tệp tạm thời trung gian sẽ tự động bị xóa khi tập lệnh hoàn tất.

Mã nguồn: https://github.com/ElectricRCAircraftGuy/PDF2SearchablePDF

Hướng dẫn cài đặt và sử dụng pdf2searchablepdf:

Đã thử nghiệm trên Ubuntu 18.04 vào ngày 11 tháng 11 năm 2019.

Cài đặt, dựng lên:

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

sudo apt update
sudo apt install tesseract-ocr

Sử dụng:

pdf2searchablepdf mypdf.pdf

Bây giờ bạn sẽ có một pdf gọi là mypdf_searchable.pdf , chứa văn bản có thể tìm kiếm!

Làm xong. Nó không có phụ thuộc python, vì nó hiện được viết hoàn toàn bằng bash.

Tài liệu tham khảo hoặc tài nguyên liên quan:

  1. PDF2SearchablePDF : https://github.com/ElectricRCAircraftGuy/PDF2SearchablePDF
  2. https://askubfox.com/questions/473843/how-to-turn-a-pdf-into-a-text-searchable-pdf/1187881#1187881
  3. https://askubfox.com/questions/16268/whats-the-best-simplest-oc-solution
  4. https://askubfox.com/questions/150100/extracting-embedded-images-from-a-pdf/1187844#1187844
  5. pdfsandwich : Trình bao bọc phần mềm thay thế tôi mới phát hiện ra, đó cũng là giá trị kiểm tra! http://www.tobias-elze.de/pdfsandwich/
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.