Làm cách nào để tạo PDF với các trang được quét nhưng văn bản có thể chọn?


32

Hôm nay tôi đã nhận được một bản PDF từ nhà cung cấp của chúng tôi và nó chứa một số trang được in và quét có chữ ký, v.v. Tôi đã mở nó trong Acrobat Reader DC. Nhưng tôi ngạc nhiên, văn bản từ các hình ảnh được quét rõ ràng có thể được chọn và sao chép dưới dạng văn bản. Xem ảnh chụp màn hình:

PDF được quét với văn bản có thể chọn

Rõ ràng có một số OCR đằng sau điều này vì văn bản sao chép có chứa lỗi. Nhưng làm thế nào là điều này có thể? Tôi chưa bao giờ thấy điều này trước đây, làm thế nào điều này có thể được tạo ra?


4
Các gói như github.com/gkovacs/pdfoc cho phép điều này xảy ra đối với hình ảnh đã có sẵn
PDFS

Làm thế nào nó khác với kết quả bạn nhận được bởi Batch-OCR nhiều tệp PDF ?
Dmitry Grigoryev

@DmitryGrigoryev Tôi chưa bao giờ thấy loại PDF này trước đây, vì vậy tôi đã hỏi, nó là gì. Không có gì về phần mềm OCR hoặc OCRMyPDF của máy in trong các câu trả lời, cả câu hỏi và câu trả lời đều rất khác nhau. Tôi không thấy bất cứ điều gì trùng lặp ngoại trừ cả hai câu hỏi là về OCR và PDF.
Vojtěch Dohnal

Chà, tôi chưa bao giờ thấy một bản PDF OCR khác với những gì bạn đã đăng, đó là lý do tại sao câu hỏi của bạn cảm thấy lạ đối với tôi.
Dmitry Grigoryev

Câu trả lời:


53

Điều này có (trái với một số câu trả lời khác ở đây) có lẽ không liên quan gì đến Acrobat cả.

Hầu hết (tất cả?!) Máy quét tài liệu chuyên nghiệp và hầu hết những người bán chuyên nghiệp sẽ tự động thực hiện OCR khi bạn chọn "Lưu dưới dạng PDF" và đánh dấu vào hộp kiểm "có thể tìm kiếm" trong cài đặt. Các mô hình "cấp tiêu dùng" rẻ hơn sẽ thực hiện OCR trên PC đính kèm, các máy quét mạng điển hình thực hiện nội bộ.

Từ "có thể tìm kiếm" có nghĩa là không có gì khác hơn là máy quét sẽ thực hiện OCR, sau đó tạo một trang có bitmap được quét bên trong và phủ chúng bằng các ký tự vô hình từ OCR, mỗi ký tự được đặt trên ký tự tương ứng trên bitmap.

Bằng cách đó, bạn có thể tìm kiếm, đồng thời chọn, sao chép và dán "bitmap" như thể bằng phép thuật. Tuy nhiên, đó không phải là phép thuật. Trong thực tế, bạn chỉ đang sao chép văn bản vô hình.

Máy quét cũng có thể thực hiện một số phép thuật bổ sung như ghép hình ảnh lớn từ nhiều ô nhỏ cũng được sử dụng lại. Điều này dẫn đến kích thước tài liệu nhỏ hơn nhiều so với thực tế có thể xảy ra, nhưng cũng có thể dẫn đến những bất ngờ thú vị (không buồn cười nếu chúng xảy ra với bạn!) Như Xerox thay đổi câu chuyện hóa đơn của bạn , trớ trêu thay ngay cả khi không thực hiện OCR trên phần sụn.


Vâng, đây có lẽ là cách họ tạo ra nó, tôi rất nghi ngờ họ sử dụng Adobe Acrobat đầy đủ.
Vojtěch Dohnal

Chúng tôi đã làm điều đó bằng cách đặt tất cả văn bản đằng sau hình ảnh được quét nơi OCR báo cáo nơi tìm thấy từng nút văn bản.
Thorbjørn Ravn Andersen

10

Nhưng làm thế nào là điều này có thể?

Về cơ bản, một chương trình thực hiện OCR trên tệp đầu vào và sau đó nó đặt một lớp văn bản vô hình lên trên hình ảnh. Ngoài ra, nó cũng có thể đặt một lớp văn bản có thể nhìn thấy dưới hình ảnh, cho hiệu ứng tương tự.

Khi bạn chọn một cái gì đó, hình ảnh không thành vấn đề vì lớp văn bản được chọn.

Làm thế nào điều này có thể được tạo ra?

Có một số cách. Vì Acrobat đã được đề xuất, tôi sẽ thêm một số tùy chọn miễn phí (và may mắn là bạn không bị buộc phải có Windows để sử dụng chúng).

Trình xem PDF-XChange

Đây là một chương trình Windows gốc của Phần mềm theo dõi . Phiên bản phần mềm miễn phí chạy tốt trong Wine nếu bạn sử dụng phiên bản 32 bit trong tiền tố 32 bit, do đó bạn có thể sử dụng nó trên Windows, macOS và Linux. Trong hai trường hợp cuối cùng, bạn sẽ cần PlayOnMac hoặc PlayOnLinux tương ứng.

Đây là hình ảnh từ câu trả lời này tôi để lại trên Hỏi Ubuntu:

Ảnh chụp màn hình của Trình xem PDF-XChange trong Wine

Tháng Mười

Đây là một chương trình đa nền tảng được viết bằng Python , dựa trên Ghostscript, Tesseract và Unapers. Từ các tài liệu:

OCRmyPDF làm gì

OCRmyPDF phân tích từng trang của PDF để xác định không gian màu và độ phân giải (DPI) cần thiết để nắm bắt tất cả thông tin trên trang đó mà không làm mất nội dung. Nó sử dụng Ghostscript để rasterize trang, và sau đó thực hiện trên OCR trên hình ảnh rasterized để tạo ra một lớp OCR. Lớp này sau đó được ghép lại vào bản PDF gốc.

Nó có thể dễ dàng cài đặt trên các dẫn xuất Debian và Ubuntu:

apt-get install ocrmypdf

Hoặc trên macOS:

brew tap jbarlow83/ocrmypdf
brew install ocrmypdf

Trên Windows, bạn sẽ cần sử dụng hình ảnh Docker. Xem các tài liệu chính thức để biết chi tiết.

Cách sử dụng rất đơn giản và tôi khuyên bạn nên sử dụng các tham số tùy chọn -d(deskew) và -c(sạch) để có kết quả tốt hơn. Nó sẽ làm thẳng mọi trang và dọn sạch các chấm / khiếm khuyết nhỏ trước khi chạy quy trình OCR.

Bạn có thể (và nên) cung cấp ngôn ngữ với -l.

Dưới đây là một ví dụ được lấy từ tài liệu sai lệch này được viết bằng tiếng Ý:

Ví dụ cho OCRmyPDF

Lệnh tôi đã sử dụng là:

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

Công cụ trực tuyến

Có một vài công cụ trực tuyến cũng làm như vậy. Đáng chú ý, PDF24 lưu trữ phiên bản OCRmyPDF dựa trên web miễn phí có thể được sử dụng mà không bị giới hạn.

Xem thêm:


Cảm ơn bạn vì câu trả lời này, tôi đã dùng thử OCRMyPDF và nó hoạt động rất tốt nhưng thật không may là sự hỗ trợ ngôn ngữ mà tôi cần vẫn chưa thành thục, vì vậy kết quả vẫn chưa thể sử dụng được.
Vojtěch Dohnal

@ VojtěchDohnal bạn quan tâm đến ngôn ngữ nào? Bạn đã cài đặt gói ngôn ngữ có liên quan cho Tesseract? Xem danh sách tại đây: macports.org/ports.php?by=name&substr=tesseract-
Andrea Lazzarotto

4

Điều này có thể là do tính năng Acrobat OCR :

Acrobat có thể nhận dạng văn bản trong bất kỳ tệp PDF hoặc hình ảnh bằng hàng tá ngôn ngữ. Tất cả những gì bạn phải làm là mở tài liệu hoặc hình ảnh được quét mà bạn muốn OCR, sau đó nhấp vào nút Công cụ màu xanh ở trên cùng bên phải của thanh công cụ. Trong thanh bên đó, chọn tab Nhận dạng văn bản, sau đó nhấp vào nút Trong tệp này.

...

Với văn bản được nhận dạng, giờ đây bạn có thể đánh dấu PDF bằng tất cả các công cụ đánh dấu thông thường - bạn có thể đánh dấu, gạch bỏ văn bản và hơn thế nữa . Bạn thậm chí có thể sao chép văn bản với định dạng được phát hiện, mặc dù điều đó thường kém chính xác hơn so với nhận dạng văn bản.


Điều này cũng hoạt động trong Reader? Các tài liệu khác không hoạt động theo cách này đối với tôi ...
Vojtěch Dohnal

Tôi không sợ, nhưng hãy xem bài viết này: pdf.wondershare.com/pdf-software-comparison/
duDE

3

Từ trang web của Adobe

Nhận dạng văn bản trong tệp PDF được quét

Khi bạn quét tài liệu giấy sang PDF, bạn thực sự chỉ đang chụp ảnh những tài liệu đó. Điều đó thật tuyệt vời cho ảnh và các hình ảnh in khác, nhưng nếu bạn có một tài liệu 200 trang mà bạn cần tìm một từ hoặc cụm từ cụ thể thì sao? Sử dụng Acrobat để nhận dạng văn bản trong tệp được quét đó, làm cho nội dung văn bản có thể tìm kiếm và sử dụng được.

  1. Với tài liệu được quét của bạn mở trong Acrobat, hãy mở ngăn Công cụ và mở rộng bảng Nhận dạng Văn bản. Nếu bạn không thể thấy Nhận dạng văn bản của Nhật Bản trong ngăn Công cụ, bạn có thể thêm nó bằng cách chọn menu ở góc trên bên phải (hình ảnh bên dưới - xem mũi tên nhỏ màu đỏ đó đang chỉ vào đâu? Nhấp vào đó).
  2. Nhấp vào tập tin trong tập tin này để xem tài liệu bạn đã mở. Bạn chỉ có thể chấp nhận cài đặt mặc định và nhấp vào Okay Okay khi hộp Nhận dạng văn bản bật lên. Acrobat sẽ chuyển đổi hình ảnh thành văn bản có thể sử dụng; để kiểm tra, chỉ cần thử chỉnh sửa một từ hoặc câu với bảng Chỉnh sửa nội dung. Thật tuyệt phải không!?

Cảm ơn nhưng tôi mới mở PDF trong Reader DC và không có gì đặc biệt với nó, các tài liệu PDF khác với các trang được quét không hoạt động theo cách này tự động ...
Vojtěch Dohnal

5
OCR đã được thực hiện TRƯỚC KHI bạn đã nhận được tệp, khi văn bản được nhận dạng, nó sẽ được lưu cùng với pdf.
Máté Juhász

@ VojtěchDohnal Có lẽ bạn cần acrobat đầy đủ, không chỉ người đọc
Thorbjørn Ravn Andersen
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.