Hướng dẫn how to extract paragraph from pdf using python - cách trích xuất đoạn văn từ pdf bằng python

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    ĐọcPortable Document Format. It uses .pdf extension. It is used to present and exchange documents reliably, independent of software, hardware, or operating system.

    Bàn luận

    Tất cả các bạn phải quen thuộc với PDFS là gì. Trên thực tế, chúng là một trong những phương tiện kỹ thuật số quan trọng và được sử dụng rộng rãi nhất. PDF là viết tắt của định dạng tài liệu di động. Nó sử dụng tiện ích mở rộng .pdf. Nó được sử dụng để trình bày và trao đổi tài liệu một cách đáng tin cậy, độc lập với phần mềm, phần cứng hoặc hệ điều hành.

    Trích xuất văn bản từ tệp PDF For more information, refer to Working with PDF files in Python

    Gói Pypdf của Python có thể được sử dụng để đạt được những gì chúng ta muốn (trích xuất văn bản), mặc dù nó có thể làm nhiều hơn những gì chúng ta cần. Gói này cũng có thể được sử dụng để tạo, giải mã và hợp nhất các tệp PDF.

    Lưu ý: Để biết thêm thông tin, hãy tham khảo làm việc với các tệp PDF trong Python

    pip install PyPDF2

    Example:

    Cài đặt

    Hướng dẫn how to extract paragraph from pdf using python - cách trích xuất đoạn văn từ pdf bằng python

    Để cài đặt gói này, loại lệnh dưới đây trong thiết bị đầu cuối.

    Đầu vào PDF:

    pdfFileObj = open('example.pdf', 'rb')
    9
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
    0

    print(pdfReader.numPages)
    2
    print(pdfReader.numPages)
    3

    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
    1
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
    2
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
    3
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
    4
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
    5
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
    6
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
    7
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
    8

    print(pdfReader.numPages)
    2
    pageObj = pdfReader.getPage(0)
    0

    pageObj = pdfReader.getPage(0)
    1

    Output:

    Hướng dẫn how to extract paragraph from pdf using python - cách trích xuất đoạn văn từ pdf bằng python

    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
    9
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
    2
    print(pdfReader.numPages)
    1

    • pdfFileObj = open('example.pdf', 'rb')

      print(pdfReader.numPages)
      4
      pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
      2
      print(pdfReader.numPages)
      6
      print(pdfReader.numPages)
      7
      pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
      8example.pdf in binary mode. and saved the file object as pdfFileObj.

    • pdfReader = PyPDF2.PdfFileReader(pdfFileObj)

      Hãy để chúng tôi cố gắng hiểu mã trên trong các khối:PdfFileReader class of PyPDF2 module and  pass the pdf file object & get a pdf reader object.

    • print(pdfReader.numPages)

      Chúng tôi đã mở ví dụ.pdf ở chế độ nhị phân. & Nbsp; và đã lưu đối tượng tệp dưới dạng pdffiLeobj.property gives the number of pages in the pdf file. For example, in our case, it is 20 (see first line of output).

    • pageObj = pdfReader.getPage(0)

      Ở đây, chúng tôi tạo một đối tượng của lớp pdffileReader của mô -đun PYPDF2 và & nbsp; & nbsp; vượt qua đối tượng tệp PDF và nhận đối tượng đầu đọc pdf.PageObject class of PyPDF2 module. pdf reader object has function getPage() which takes page number (starting form index 0) as argument and returns the page object.

    • print(pageObj.extractText())

      Thuộc tính Numpages cung cấp số lượng trang trong tệp PDF. Ví dụ, trong trường hợp của chúng tôi, nó là 20 (xem dòng đầu ra đầu tiên).extractText() to extract text from the pdf page.

    • pdfFileObj.close()

      Bây giờ, chúng tôi tạo một đối tượng của lớp trang PYPDF2. Đối tượng đầu đọc pdf có chức năng getPage () lấy số trang (chỉ mục biểu mẫu bắt đầu 0) làm đối số và trả về đối tượng trang.

    Đối với Python3, tùy chọn tốt nhất là sử dụng PYPDF2. Cài đặt nó bằng PIP:

    pageObj = pdfReader.getPage(0)
    2

    Sau đó, hãy thử điều này để lấy chuỗi ra khỏi PDF yêu cầu của bạn:

    import PyPDF2
    pdfFileObj = open('filepath.pdf', 'rb')
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
    pageObj = pdfReader.getPage(0)
    text=pageObj.extractText()
    

    Sau đó, bạn phải tìm kiếm một mẫu hoặc một chuỗi các không gian trắng cụ thể biểu thị sự bắt đầu và kết thúc của các tệp PDF. Nếu bạn không chắc chắn làm thế nào để xác định mẫu đó, bạn có thể đưa ra một số chuỗi mà bạn nhận được từ các tệp PDF của mình dưới dạng một câu hỏi riêng biệt hoặc chỉnh sửa bản này.

    Một điều tôi có thể đề xuất dựa trên hình ảnh được chia sẻ là:

    firstpara=text.split("ABSTRACT")[1].split("1. INTRODUCTION")[0]
    

    Tuy nhiên, tôi không chắc liệu nó có hoạt động cho tất cả các tệp PDF của bạn cho Python2 hay không, hãy tham khảo câu trả lời này từ David Crow và Felipe Augusto

    & nbsp; · 7 phút Đọc · Cập nhật tháng 7 năm 2022 · Xử lý tệp PDF · 7 min read · Updated jul 2022 · PDF File Handling

    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.

    Vào những thời điểm này, các công ty có quy mô trung bình và quy mô lớn có một lượng lớn tài liệu PDF được sử dụng hàng ngày. Trong số đó có hóa đơn, biên lai, tài liệu, báo cáo, và nhiều hơn nữa.

    Trong hướng dẫn này, bạn sẽ tìm hiểu làm thế nào bạn có thể trích xuất văn bản từ các tài liệu PDF trong Python bằng thư viện PymupDF.

    Hướng dẫn này đã giải quyết vấn đề khi văn bản không được quét, tức là, không phải là một hình ảnh trong PDF. Nếu bạn muốn trích xuất văn bản từ hình ảnh trong tài liệu PDF, hướng dẫn này là dành cho bạn.

    Để bắt đầu, chúng tôi cần cài đặt pymupdf:

    $ pip install PyMuPDF==1.18.9

    Mở tệp Python mới và hãy nhập thư viện:

    pdfFileObj = open('example.pdf', 'rb')
    0

    PymupDF có tên

    pageObj = pdfReader.getPage(0)
    3 khi nhập vào Python, vì vậy hãy ghi nhớ điều đó.

    Vì chúng tôi sẽ tạo một tập lệnh Python trích xuất văn bản từ các tài liệu PDF, chúng tôi phải sử dụng mô -đun Argparse để phân tích các tham số được truyền trong dòng lệnh. Hàm sau phân tích các đối số và thực hiện một số xử lý:argparse module to parse the passed parameters in the command line. The following function parses the arguments and does some processing:

    pdfFileObj = open('example.pdf', 'rb')
    1

    Đầu tiên, chúng tôi đã tạo trình phân tích cú pháp của mình bằng cách sử dụng

    pageObj = pdfReader.getPage(0)
    4 và thêm các tham số sau:

    • pageObj = pdfReader.getPage(0)
      5: Tài liệu PDF đầu vào để trích xuất văn bản từ.
    • pageObj = pdfReader.getPage(0)
      6 hoặc
      pageObj = pdfReader.getPage(0)
      7: Các chỉ số trang để trích xuất, bắt đầu từ 0, nếu bạn không chỉ định, mặc định sẽ là tất cả các trang.
    • pageObj = pdfReader.getPage(0)
      8 hoặc
      pageObj = pdfReader.getPage(0)
      9: Tệp văn bản đầu ra để viết văn bản được trích xuất. Nếu bạn không chỉ định, nội dung sẽ được in trong đầu ra tiêu chuẩn (nghĩa là trong bảng điều khiển).
    • print(pageObj.extractText())
      0 hoặc
      print(pageObj.extractText())
      1: Đây là một boolean cho biết có nên xuất văn bản theo trang hay không. Nếu không được chỉ định, tất cả văn bản được nối trong một tệp duy nhất (khi
      pageObj = pdfReader.getPage(0)
      8 được chỉ định).

    Thứ hai, chúng tôi mở

    print(pageObj.extractText())
    3 của chúng tôi để viết vào nếu
    print(pageObj.extractText())
    0 được chỉ định. Nếu không, một tệp duy nhất sẽ có trong từ điển
    print(pageObj.extractText())
    3.

    Cuối cùng, chúng tôi trả về các biến cần thiết: tài liệu PDF, tệp đầu ra và danh sách các số trang.

    Tiếp theo, hãy tạo một hàm chấp nhận các tham số trên và trích xuất văn bản từ các tài liệu PDF phù hợp:

    pdfFileObj = open('example.pdf', 'rb')
    2

    Chúng tôi lặp lại trên các trang; Nếu trang chúng tôi đang ở trong danh sách

    print(pageObj.extractText())
    6, chúng tôi trích xuất văn bản của trang đó và viết nó vào tệp được chỉ định hoặc đầu ra tiêu chuẩn. Cuối cùng, chúng tôi đóng các tập tin.

    Hãy mang mọi thứ lại với nhau và chạy các chức năng:

    pdfFileObj = open('example.pdf', 'rb')
    3

    Thật tuyệt vời, chúng ta hãy cố gắng trích xuất văn bản từ tất cả các trang của tệp này và ghi từng trang vào một tệp văn bản:

    pdfFileObj = open('example.pdf', 'rb')
    4

    Output:

    pdfFileObj = open('example.pdf', 'rb')
    5

    Nó hoạt động hoàn hảo. Dưới đây là các tệp đầu ra:

    Hướng dẫn how to extract paragraph from pdf using python - cách trích xuất đoạn văn từ pdf bằng python
    Bây giờ hãy chỉ định các trang 0, 1, 2, 14 và 15:

    pdfFileObj = open('example.pdf', 'rb')
    6

    Chúng ta cũng có thể in trong bảng điều khiển thay vì lưu nó vào một tệp bằng cách không đặt tùy chọn

    pageObj = pdfReader.getPage(0)
    8:

    pdfFileObj = open('example.pdf', 'rb')
    7

    Hoặc lưu tất cả văn bản của tài liệu PDF vào một tệp văn bản:

    pdfFileObj = open('example.pdf', 'rb')
    8

    Tệp đầu ra sẽ xuất hiện trong thư mục hiện tại:

    Sự kết luận

    Được rồi, đó là nó cho hướng dẫn này. Như đã đề cập trước đó, bạn luôn có thể trích xuất văn bản từ hướng dẫn tài liệu PDF được quét nếu tài liệu của bạn được quét (nghĩa là, dưới dạng hình ảnh và không thể được chọn trong trình đọc PDF của bạn).

    Ngoài ra, bạn có thể tái cấu trúc và làm nổi bật văn bản trong tệp PDF của bạn. Dưới đây là một số hướng dẫn PDF liên quan khác:

    • Cách trích xuất các bảng từ PDF trong Python
    • Cách mã hóa và giải mã các tệp PDF trong Python
    • Cách ký các tệp PDF bằng Python
    • Cách chia các tệp PDF trong Python
    • Cách trích xuất tất cả các liên kết PDF trong Python

    Hoặc bạn có thể khám phá tất cả chúng ở đây.

    Kiểm tra mã hoàn chỉnh ở đây.

    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 đọc


    Hướng dẫn how to extract paragraph from pdf using python - cách trích xuất đoạn văn từ pdf bằng python

    Hướng dẫn how to extract paragraph from pdf using python - cách trích xuất đoạn văn từ pdf bằng python

    Hướng dẫn how to extract paragraph from pdf using python - cách trích xuất đoạn văn từ pdf bằng python


    Bảng bình luận

    Làm cách nào để trích xuất văn bản cụ thể từ PDF trong Python?

    Bước 1: Nhập tất cả các thư viện. Bước 2: Chuyển đổi tệp PDF thành định dạng TXT và đọc dữ liệu. Bước 3: Sử dụng chức năng .Findall () của các biểu thức thông thường để trích xuất các từ khóa.Use “. findall()” function of regular expressions to extract keywords.

    Làm cách nào để trích xuất dữ liệu từ PDF trong Python?

    Tất cả những gì chúng ta cần làm là sử dụng PYPDF2 để truy cập tài liệu XML từ cấu trúc đối tượng của tệp này.Khi chúng tôi có quyền truy cập vào XML, đó là một bài tập đơn giản là phân tích tài liệu XML để truy cập các giá trị cho các yếu tố hình thức khác nhau, sau đó có thể được lưu trữ vào danh sách Python, mảng numpy, gandas dataFrame, v.v.use PyPDF2 to access the XML document from the object structure of this file. Once we have access to the XML, it is a simple exercise of parsing out the XML document to access values for various form elements, which could then be stored into a Python list, Numpy array, Pandas dataframe etc.

    Làm thế nào để bạn trích xuất một đoạn văn từ một tệp văn bản trong Python?

    Approach:..
    Nhập mô -đun ..
    Tạo tài liệu HTML và chỉ định thẻ '' vào mã ..
    Chuyển tài liệu HTML vào hàm đẹp () ..
    Sử dụng thẻ 'P' để trích xuất các đoạn văn từ đối tượng đẹp ..
    Nhận văn bản từ tài liệu HTML bằng get_text () ..

    Làm cách nào để trích xuất văn bản từ dòng PDF?

    Sau đây là quá trình từng bước để trích xuất dòng văn bản theo dòng từ PDF ...
    Mở rộng PDFTEXTSTRIPPER.Tạo một lớp Java và mở rộng nó với PDFTextStripper.....
    Gọi phương thức Writetext.Đặt ranh giới trang (từ trang đầu tiên đến trang cuối) thành dải văn bản và gọi phương thức writetext.....
    Ghi đè Writestring ..