Hướng dẫn extract data from scanned pdf python - trích xuất dữ liệu từ pdf python được quét
& nbsp; · Bassem Marji · 23 phút Đọc · Cập nhật tháng 7 năm 2022 · Xử lý tệp PDF · Bassem Marji · 23 min read · Updated jul 2022 · PDF File Handling Show Tiết lộ: Bài đăng này có thể chứa các liên kết liên kết, có nghĩa là khi bạn nhấp vào liên kết và mua hàng, chúng tôi nhận được hoa hồng.: This post may contain affiliate links, meaning when you click the links and make a purchase, we receive a commission. Ngày nay, các công ty có quy mô trung bình và lớn có số lượng lớn các tài liệu in trong sử dụng hàng ngày. Trong số đó có hóa đơn, biên lai, tài liệu công ty, báo cáo và thông cáo phương tiện truyền thông. Đối với các công ty đó, việc sử dụng máy quét OCR có thể tiết kiệm một khoảng thời gian đáng kể trong khi cải thiện hiệu quả cũng như độ chính xác. & NBSP; Thuật toán nhận dạng ký tự quang (OCR) cho phép các máy tính phân tích tự động phân tích các tài liệu in hoặc viết tay và chuẩn bị dữ liệu văn bản thành các định dạng có thể chỉnh sửa để máy tính xử lý chúng một cách hiệu quả. Hệ thống OCR biến đổi hình ảnh hai chiều của văn bản có thể chứa văn bản in hoặc viết tay từ biểu diễn hình ảnh của nó thành văn bản có thể đọc được bằng máy. Nói chung, một động cơ OCR liên quan đến nhiều bước cần thiết để đào tạo thuật toán học máy để giải quyết vấn đề hiệu quả với sự trợ giúp của nhận dạng ký tự quang học. Các bước sau đây có thể khác nhau từ động cơ này sang động cơ khác là cần thiết để tiếp cận nhận dạng ký tự tự động: Trong hướng dẫn này, tôi sẽ cho bạn thấy như sau:Within this tutorial, I am going to show you the following:
Xin lưu ý rằng hướng dẫn này là về việc trích xuất văn bản từ hình ảnh trong các tài liệu PDF, nếu bạn muốn trích xuất tất cả văn bản từ PDF, thay vào đó hãy kiểm tra hướng dẫn này. Để bắt đầu, chúng tôi cần sử dụng các thư viện sau: Tesseract OCR: & NBSP; là công cụ nhận dạng văn bản nguồn mở có sẵn theo giấy phép Apache 2.0 và sự phát triển của nó đã được Google tài trợ từ năm 2006. Vào năm 2006, Tesseract được coi là một trong những động cơ OCR nguồn mở chính xác nhất . Bạn có thể sử dụng nó trực tiếp hoặc có thể sử dụng API để trích xuất văn bản in từ hình ảnh. Phần tốt nhất là nó hỗ trợ nhiều ngôn ngữ. & NBSP; is an open-source text recognition engine that is available under the Apache 2.0 license and its development has been sponsored by Google since 2006. In the year 2006, Tesseract was considered one of the most accurate open-source OCR engines. You can use it directly or can use the API to extract the printed text from images. The best part is that it supports an extensive variety of languages. Cài đặt động cơ Tesseract nằm ngoài phạm vi của bài viết này. Tuy nhiên, bạn cần làm theo hướng dẫn cài đặt chính thức của Tesseract để cài đặt nó trên hệ điều hành của bạn. Để xác thực thiết lập Tesseract, vui lòng chạy lệnh sau và kiểm tra đầu ra được tạo: Python-Tesseract: là một trình bao bọc Python cho động cơ Google Tesseract-acr. Nó cũng hữu ích như một tập lệnh gọi độc lập cho Tesseract, vì nó có thể đọc tất cả các loại hình ảnh được hỗ trợ bởi các thư viện hình ảnh Gối và Leptonica, bao gồm JPEG, PNG, GIF, BMP, TIFF và những người khác. is a Python wrapper for Google’s Tesseract-OCR Engine. It is also useful as a stand-alone invocation script to tesseract, as it can read all image types supported by the Pillow and Leptonica imaging libraries, including jpeg, png, gif, bmp, tiff, and others. OpenCV: là một thư viện nguồn mở Python, cho tầm nhìn máy tính, học máy và xử lý hình ảnh. OpenCV hỗ trợ nhiều ngôn ngữ lập trình như Python, C ++, Java, v.v. Nó có thể xử lý hình ảnh và video để xác định các đối tượng, khuôn mặt hoặc thậm chí là chữ viết tay của con người. is a Python open-source library, for computer vision, machine learning, and image processing. OpenCV supports a wide variety of programming languages like Python, C++, Java, etc. It can process images and videos to identify objects, faces, or even the handwriting of a human. PyMUPDF: MUPDF là một giải pháp phiên dịch PDF, XPS và Ebook có thể sử dụng rất linh hoạt cao, có thể sử dụng trên một loạt các ứng dụng như trình kết xuất, trình xem hoặc bộ công cụ PDF. PymUPDF là một liên kết python cho MUPDF. Nó là một trình xem PDF và XPS nhẹ.: MuPDF is a highly versatile, customizable PDF, XPS, and eBook interpreter solution that can be used across a wide range of applications as a PDF renderer, viewer, or toolkit. PyMuPDF is a Python binding for MuPDF. It is a lightweight PDF and XPS viewer. Numpy: là gói xử lý mảng đa năng. Nó cung cấp một đối tượng mảng đa chiều hiệu suất cao và các công cụ để làm việc với các mảng này. Đây là gói cơ bản để điện toán khoa học với Python. Bên cạnh đó, Numpy cũng có thể được sử dụng như một thùng chứa đa chiều hiệu quả của dữ liệu chung. is a general-purpose array-processing package. It provides a high-performance multidimensional array object, and tools for working with these arrays. It is the fundamental package for scientific computing with Python. Besides, Numpy can also be used as an efficient multi-dimensional container of generic data. Gối: Được xây dựng trên đỉnh PIL (Thư viện hình ảnh Python). Nó là một mô -đun thiết yếu để xử lý hình ảnh trong Python. is built on top of PIL (Python Image Library). It is an essential module for image processing in Python. PANDAS: là một thư viện Python được cấp nguồn BSD, cung cấp các cấu trúc dữ liệu và công cụ phân tích dữ liệu hiệu suất cao, dễ sử dụng cho ngôn ngữ lập trình Python. & NBSP; is an open-source, BSD-licensed Python library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language. FileType: Gói Python nhỏ và không phụ thuộc để suy ra loại tệp và loại MIME. Small and dependency-free Python package to deduce file type and MIME type. Hướng dẫn này nhằm phát triển tiện ích dựa trên dòng chỉ huy nhẹ để trích xuất, tái cấu trúc hoặc làm nổi bật một văn bản có trong một hình ảnh hoặc tệp PDF được quét hoặc trong thư mục chứa một bộ sưu tập các tệp PDF. Thành lậpĐể bắt đầu, hãy cài đặt các yêu cầu:
Hãy bắt đầu bằng cách nhập các thư viện cần thiết:
Hàm này chuyển đổi bộ đệm pixmap đại diện cho một ảnh chụp màn hình được chụp bằng thư viện PyMUPDF thành một mảng numpy.PyMuPDF library into a NumPy array. Để cải thiện độ chính xác của Tesseract, hãy xác định một số chức năng tiền xử lý bằng OpenCV:
Chúng tôi đã xác định các chức năng cho nhiều tác vụ tiền xử lý, bao gồm chuyển đổi hình ảnh thành thang độ xám, lật các giá trị pixel, tách các pixel trắng và đen, và nhiều hơn nữa. Tiếp theo, hãy xác định chức năng để hiển thị hình ảnh:
Hàm
Hàm ở trên lặp lại trong suốt văn bản chụp của một hình ảnh và sắp xếp dòng văn bản được lấy theo từng dòng. Nó phụ thuộc vào bố cục hình ảnh và có thể yêu cầu điều chỉnh cho một số định dạng hình ảnh. Liên quan: Cách hợp nhất các tệp PDF trong Python. How to Merge PDF Files in Python. Tiếp theo, hãy xác định một hàm để tìm kiếm văn bản bằng cách sử dụng các biểu thức thông thường:
Chúng tôi sẽ sử dụng chức năng này để tìm kiếm văn bản cụ thể trong nội dung lấy của hình ảnh. Nó trả về một máy phát của các trận đấu tìm thấy.
Chức năng Bây giờ chúng ta hãy tạo một chức năng để lưu DataFrame kết quả vào tệp CSV:
Tiếp theo, hãy viết một hàm tính toán điểm tin cậy của văn bản được lấy từ hình ảnh được quét:
Đi đến chức năng chính: Quét hình ảnh: 0Những điều trên thực hiện như sau:
1Hàm Hàm
Hàm 2Hàm Mở tệp PDF đầu vào.
Thu thập số liệu thống kê của màn hình (trang). 3Lưu nội dung của ảnh chụp màn hình. Thêm ảnh chụp màn hình cập nhật vào tệp đầu ra. Lưu toàn bộ nội dung của tệp PDF đầu vào vào tệp CSV.
Cuối cùng, chúng ta hãy viết mã chính sử dụng các chức năng được xác định trước đó: 4Hãy kiểm tra chương trình của chúng tôi: 5Output: 6Trước khi khám phá các kịch bản thử nghiệm của chúng tôi, hãy cẩn thận với những điều sau:
Trước tiên, chúng ta hãy cố gắng nhập hình ảnh (bạn có thể lấy nó ở đây nếu bạn muốn nhận cùng một đầu ra), mà không cần bất kỳ tệp PDF nào liên quan: 7Những điều sau đây sẽ là đầu ra: 8Và một hình ảnh mới đã xuất hiện trong thư mục hiện tại: Bạn có thể vượt qua Bạn cũng có thể vượt qua Bây giờ đang hoạt động cho hình ảnh, hãy thử các tệp PDF: 9
Lần này chúng tôi đã chuyển một tệp PDF cho đối số 0Tệp Một tệp CSV cũng được tạo bao gồm văn bản được phát hiện từ hình ảnh trên mỗi dòng. Sự kết luậnCó những thông số khác mà chúng tôi không sử dụng trong các ví dụ của mình, vui lòng khám phá chúng. Bạn cũng có thể chuyển toàn bộ thư mục cho đối số Tesseract là hoàn hảo để quét các tài liệu sạch và rõ ràng. Quét chất lượng kém có thể tạo ra kết quả kém trong OCR. Thông thường, nó không cung cấp kết quả chính xác của các hình ảnh bị ảnh hưởng bởi các tạo tác bao gồm tắc một phần, phối cảnh bị bóp méo và nền tảng phức tạp. Nhận mã đầy đủ ở đây. Dưới đây là một số hướng dẫn PDF liên quan khác:
Cuối cùng, nếu bạn là người mới bắt đầu và muốn học Python, tôi khuyên bạn nên tham gia khóa học & nbsp; Python cho mọi người Coursera, trong đó bạn sẽ tìm hiểu rất nhiều về Python. Bạn cũng có thể kiểm tra trang tài nguyên và khóa học của chúng tôi để xem tài nguyên Python tôi đề xuất về các chủ đề khác nhau! Happy Coding ♥ Xem đầy đủ mã Cũng đọcBảng bình luậnLàm cách nào để trích xuất dữ liệu từ PDF được quét?5 cách để trích xuất dữ liệu từ các tài liệu PDF.. Sao chép và dán.. Bộ chuyển đổi PDF .. Nhập dữ liệu thủ công gia công .. Công cụ trích xuất bảng PDF .. Tự động hóa trích xuất dữ liệu PDF .. Làm cách nào để trích xuất dữ liệu cụ thể từ PDF trong Python?Có một vài thư viện Python sử dụng mà bạn có thể trích xuất dữ liệu từ PDFS. Ví dụ: bạn có thể sử dụng thư viện PYPDF2 để trích xuất văn bản từ các tệp PDF trong đó văn bản theo cách tuần tự hoặc được định dạng, tức là trong các dòng hoặc biểu mẫu. Bạn cũng có thể trích xuất các bảng trong các tệp PDF thông qua thư viện Camelot.use the PyPDF2 library for extracting text from PDFs where text is in a sequential or formatted manner i.e. in lines or forms. You can also extract tables in PDFs through the Camelot library.
Làm cách nào để đọc một bản pdf được quét trong Python?Đầu tiên, chúng ta cần chuyển đổi các trang của PDF thành hình ảnh và sau đó, sử dụng OCR (nhận dạng ký tự quang học) để đọc nội dung từ hình ảnh và lưu trữ trong tệp văn bản ... Lưu trữ đĩa được sử dụng để lưu trữ các hình ảnh trong hệ thống cục bộ..... Sử dụng OCR không thể đảm bảo độ chính xác 100% .. Làm cách nào để trích xuất dữ liệu cụ thể từ PDF?Cách tiếp cận bản sao & dán là lựa chọn thực tế nhất khi xử lý một số lượng nhỏ các tài liệu PDF đơn giản ... Mở từng tệp PDF .. Lựa chọn một phần dữ liệu hoặc văn bản trên một trang hoặc bộ trang cụ thể .. Sao chép thông tin đã chọn .. Dán thông tin đã sao chép vào tệp tài liệu, XLS hoặc CSV .. |