PDF là viết tắt của Định dạng tài liệu di động. Nó sử dụng. phần mở rộng pdf. Loại tệp này chủ yếu được sử dụng cho mục đích chia sẻ. Chúng không thể được sửa đổi, do đó giữ nguyên định dạng của tệp. Do đó chúng có thể dễ dàng chia sẻ và tải xuống. Chúng có nghĩa là để đọc và không chỉnh sửa. Chúng trông giống nhau trên mọi thiết bị, chúng được mở độc lập với phần cứng, phần mềm và hệ điều hành. Do đó, chúng là định dạng được sử dụng rộng rãi nhất. Nó được phát minh bởi Adobe. Nó hiện là một tiêu chuẩn mở của Tổ chức Tiêu chuẩn hóa Quốc tế (ISO) Show
Trong hướng dẫn này, chúng ta sẽ học cách làm việc với các tệp PDF trong Python. Các chủ đề sau đây sẽ được đề cập
Một số thư viện phổ biến cho các tệp PDF trong PythonCó nhiều thư viện có sẵn miễn phí để làm việc với các tệp PDF 1. Công cụ khai thác PDF. Nó là một công cụ mã nguồn mở để trích xuất văn bản từ PDF. Nó được sử dụng để thực hiện phân tích dữ liệu. Nó cũng có thể được sử dụng như một trình chuyển đổi PDF hoặc trình phân tích cú pháp PDF 2. Truy vấn PDF. Nó là một trình bao bọc python nhẹ xung quanh PDFMiner, Ixml và PyQuery. Nó là một thư viện cạo PDF nhanh, thân thiện với người dùng 3. bảng. py. Nó là một trình bao bọc python cho tabula. java. Nó chuyển đổi các tệp PDF thành khung dữ liệu của Pandas và hơn nữa, tất cả các thao tác thao tác dữ liệu có thể được thực hiện trên khung dữ liệu 4. xpdf. Nó cho phép chuyển đổi PDF thành văn bản 5. pdflib. Nó là một phần mở rộng của thư viện poppler với các ràng buộc python có trong đó 6. đá phiến. Nó là gói Python dựa trên PDFMiner và được sử dụng để trích xuất văn bản từ PDF 7. PyPDF2. Đó là thư viện python được sử dụng để thực hiện các tác vụ chính trên tệp PDF như trích xuất thông tin dành riêng cho tài liệu, hợp nhất tệp PDF, tách các trang của tệp PDF, thêm hình mờ vào tệp, mã hóa và giải mã tệp PDF, v.v. Chúng tôi sẽ sử dụng thư viện PyPDF2 trong hướng dẫn này. Nó là một thư viện python thuần túy nên nó có thể chạy trên mọi nền tảng mà không có bất kỳ sự phụ thuộc nào liên quan đến nền tảng vào bất kỳ thư viện bên ngoài nào Cài đặt thư viện PyPDF2Để cài đặt PyPDF2, hãy sao chép các lệnh sau trong dấu nhắc lệnh và chạy pip install PyPDF2 Lấy chi tiết tài liệuPyPDF2 cung cấp siêu dữ liệu về tài liệu PDF. Đây có thể là thông tin hữu ích về các tệp PDF. Thông tin như tác giả của tài liệu, tiêu đề, nhà sản xuất, Chủ đề, v.v. có sẵn trực tiếp Để trích xuất thông tin trên, hãy chạy đoạn mã sau from PyPDF2 import PdfFileReader pdf_path=r"C:UsersDellDesktopTesting Tesseractexample.pdf" with open(pdf_path, 'rb') as f: pdf = PdfFileReader(f) information = pdf.getDocumentInfo() number_of_pages = pdf.getNumPages() print(information) Đầu ra của đoạn mã trên như sau Hãy để chúng tôi định dạng đầu ra print("Author" +': ' + information.author) print("Creator" +': ' + information.creator) print("Producer" +': ' + information.producer) Trích xuất văn bản từ PDFĐể trích xuất văn bản, chúng tôi sẽ đọc tệp và tạo một đối tượng PDF của tệp # creating a pdf file object pdfFileObject = open(pdf_path, 'rb') Sau đó, chúng ta sẽ tạo một đối tượng lớp PDFReader và truyền Đối tượng tệp PDF cho nó # tạo đối tượng đọc pdf pdfReader = PyPDF2.PdfFileReader(pdfFileObject) Và cuối cùng, chúng tôi sẽ trích xuất từng trang và nối văn bản của từng trang text='' for i in range(0,pdfReader.numPages): # creating a page object pageObj = pdfReader.getPage(i) # extracting text from page text=text+pageObj.extractText() print(text) Văn bản đầu ra như sau Xoay các trang của PDFĐể xoay một trang của tệp PDF và lưu nó vào một tệp khác, hãy sao chép đoạn mã sau và chạy nó pdf_read = PdfFileReader(r"C:UsersDellDesktopstory.pdf") pdf_write = PdfFileWriter() # Rotate page 90 degrees to the right page1 = pdf_read.getPage(0).rotateClockwise(90) pdf_write.addPage(page1) with open(r'C:UsersDellDesktoprotate_pages.pdf', 'wb') as fh: pdf_write.write(fh) Hợp nhất các tệp PDF trong PythonChúng tôi cũng có thể hợp nhất hai hoặc nhiều tệp PDF bằng các lệnh sau pdf_read = PdfFileReader(r”C. Người dùngDellDesktopstory. pdf”) pdf_write = PdfFileWriter() # Rotate page 90 degrees to the right page1 = pdf_read.getPage(0).rotateClockwise(90) pdf_write.addPage(page1) with open(r'C:UsersDellDesktoprotate_pages.pdf', 'wb') as fh: pdf_write.write(fh) PDF đầu ra được hiển thị bên dưới Tách các trang của PDFChúng tôi có thể chia PDF thành các trang riêng biệt và lưu chúng lại dưới dạng PDF fname = os.path.splitext(os.path.basename(pdf_path))[0] for page in range(pdf.getNumPages()): pdfwrite = PdfFileWriter() pdfwrite.addPage(pdf.getPage(page)) outputfilename = '{}_page_{}.pdf'.format( fname, page+1) with open(outputfilename, 'wb') as out: pdfwrite.write(out) print('Created: {}'.format(outputfilename)) pdf = PdfFileReader(pdf_path) Mã hóa tệp PDFMã hóa tệp PDF có nghĩa là thêm mật khẩu vào tệp. Mỗi lần mở file nó nhắc nhập mật khẩu cho file. Nó cho phép nội dung được bảo vệ bằng mật khẩu. Cửa sổ bật lên sau xuất hiện Chúng ta có thể sử dụng đoạn mã sau cho cùng from PyPDF2 import PdfFileReader pdf_path=r"C:UsersDellDesktopTesting Tesseractexample.pdf" with open(pdf_path, 'rb') as f: pdf = PdfFileReader(f) information = pdf.getDocumentInfo() number_of_pages = pdf.getNumPages() print(information)0 Thêm Watermark vào tệp PDFHình mờ là một hình ảnh hoặc mẫu nhận dạng xuất hiện trên mỗi trang. Nó có thể là logo công ty hoặc bất kỳ thông tin mạnh mẽ nào được phản ánh trên mỗi trang from PyPDF2 import PdfFileReader pdf_path=r"C:UsersDellDesktopTesting Tesseractexample.pdf" with open(pdf_path, 'rb') as f: pdf = PdfFileReader(f) information = pdf.getDocumentInfo() number_of_pages = pdf.getNumPages() print(information)1 Đoạn mã trên đọc hai tệp - tệp đầu vào và hình mờ. Sau đó, sau khi đọc từng trang, nó sẽ gắn hình mờ vào từng trang và lưu tệp mới vào cùng một vị trí Ghi chú kết thúcNhư chúng ta đã thấy ở trên, tất cả các thao tác có thể được nghĩ đến trong tệp PDF có thể được thực hiện dễ dàng bằng Python bằng thư viện PyPDF2. Nó hoàn toàn được viết bằng Python. Do đó, nó hoàn toàn độc lập với nền tảng. Nó rất dễ sử dụng và cung cấp tính linh hoạt tuyệt vời Nó không bao giờ đi mà không nói from PyPDF2 import PdfFileReader pdf_path=r"C:UsersDellDesktopTesting Tesseractexample.pdf" with open(pdf_path, 'rb') as f: pdf = PdfFileReader(f) information = pdf.getDocumentInfo() number_of_pages = pdf.getNumPages() print(information)2 Nguồn hình ảnhPhương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định của Tác giả Python có thể đọc tệp PDF không?Bạn có thể làm việc với tệp PDF có sẵn bằng Python bằng cách sử dụng gói PyPDF2 . PyPDF2 là gói Python thuần túy mà bạn có thể sử dụng cho nhiều loại thao tác PDF khác nhau.
Làm cách nào để lấy dữ liệu từ PDF bằng Python?Có một số thư viện Python mà bạn có thể trích xuất dữ liệu từ tệp PDF. 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 ở dạng tuần tự hoặc được định dạng i. e. theo dòng hoặc biểu mẫu . Bạn cũng có thể trích xuất các bảng trong tệp PDF thông qua thư viện Camelot.
Gấu trúc có đọc tệp PDF không?Bạn có thể đọc các bảng từ PDF và chuyển đổi thành DataFrame của gấu trúc . tabula-py cũng cho phép bạn chuyển đổi tệp PDF thành tệp CSV/TSV/JSON. Chúng tôi thực sự khuyên bạn nên xem sổ ghi chép ví dụ và dùng thử trên Google Colab.
Làm cách nào để đọc hình ảnh PDF bằng Python?Nhập các thư viện cần thiết Chỉ định đường dẫn của tệp mà bạn muốn trích xuất hình ảnh và mở nó Lặp lại qua tất cả các trang của PDF và nhận tất cả các đối tượng hình ảnh có trên mỗi trang Sử dụng phương thức getImageList() để lấy tất cả các đối tượng hình ảnh dưới dạng danh sách các bộ dữ liệu |