Trong hướng dẫn ngắn này, bạn sẽ thấy cách chuyển đổi hình ảnh sang PDF bằng Python. Gói PIL sẽ được sử dụng để thực hiện mục tiêu này
Để bắt đầu, đây là một mẫu mà bạn có thể sử dụng để chuyển đổi hình ảnh png thành PDF bằng Python [đối với JPEG, hãy sử dụng phần mở rộng tệp là 'jpg']
from PIL import Image image_1 = Image.open[r'path where the image is stored\file name.png'] im_1 = image_1.convert['RGB'] im_1.save[r'path where the pdf will be stored\new file name.pdf']
Sau đó, bạn cũng sẽ thấy cách chuyển đổi danh sách hình ảnh sang PDF
Các bước để chuyển đổi hình ảnh sang PDF bằng Python
Bước 1. Cài đặt gói PIL
Để bắt đầu, hãy cài đặt gói PIL bằng lệnh bên dưới [trong Windows]
pip install Pillow
Bạn có thể làm theo hướng dẫn này để biết hướng dẫn cài đặt gói bằng pip
Bước 2. Chụp đường dẫn lưu trữ hình ảnh của bạn
Tiếp theo, chụp đường dẫn lưu trữ hình ảnh của bạn
Ví dụ: giả sử rằng một hình ảnh png có tên 'view_1' được lưu trữ theo đường dẫn sau
C. \Users\Ron\Desktop\Test\view_1. png
Bước 3. Chuyển đổi hình ảnh sang PDF bằng Python
Đối với bước cuối cùng, bạn có thể sử dụng mẫu bên dưới để chuyển đổi hình ảnh sang PDF
from PIL import Image image_1 = Image.open[r'path where the image is stored\file name.png'] im_1 = image_1.convert['RGB'] im_1.save[r'path where the pdf will be stored\new file name.pdf']
Ví dụ của chúng tôi, tệp PDF sẽ được lưu trữ trong cùng một đường dẫn mà hình ảnh gốc được lưu trữ [từ Bước 2]
Do đó, đây là mã Python đầy đủ để chuyển đổi hình ảnh sang PDF cho ví dụ của chúng tôi [bạn sẽ cần điều chỉnh đường dẫn để phản ánh vị trí nơi các tệp sẽ được lưu trữ trên máy tính của bạn]
from PIL import Image image_1 = Image.open[r'C:\Users\Ron\Desktop\Test\view_1.png'] im_1 = image_1.convert['RGB'] im_1.save[r'C:\Users\Ron\Desktop\Test\view_1.pdf']
Chạy mã [được điều chỉnh theo đường dẫn của bạn] và tệp PDF mới sẽ được tạo tại vị trí bạn đã chỉ định
Các nguyên tắc tương tự được áp dụng nếu bạn có hình ảnh JPEG [chứ không phải png]. Trong trường hợp đó, bạn chỉ cần thay đổi phần mở rộng tệp thành 'jpg'
from PIL import Image image_1 = Image.open[r'C:\Users\Ron\Desktop\Test\view_1.jpg'] im_1 = image_1.convert['RGB'] im_1.save[r'C:\Users\Ron\Desktop\Test\view_1.pdf']
Chuyển đổi danh sách Hình ảnh sang PDF bằng Python
Điều gì sẽ xảy ra nếu bạn có một danh sách hình ảnh và bạn muốn lưu trữ tất cả chúng trong một tệp PDF?
Ví dụ: hãy thêm một vài hình ảnh nữa trong cùng một đường dẫn
image_1 = Image.open[r'C:\Users\Ron\Desktop\Test\view_1.png'] image_2 = Image.open[r'C:\Users\Ron\Desktop\Test\view_2.png'] image_3 = Image.open[r'C:\Users\Ron\Desktop\Test\view_3.png'] image_4 = Image.open[r'C:\Users\Ron\Desktop\Test\view_4.png']
Tiếp theo, thực hiện chuyển đổi
im_1 = image_1.convert['RGB'] im_2 = image_2.convert['RGB'] im_3 = image_3.convert['RGB'] im_4 = image_4.convert['RGB']
Sau đó, tạo một image_list mới [không bao gồm hình ảnh đầu tiên]
image_list = [im_2, im_3, im_4]
Và cuối cùng, áp dụng cú pháp sau để lưu tệp PDF [lưu ý 'im_1' ở đầu]
________số 8Đặt tất cả các thành phần mã lại với nhau
from PIL import Image image_1 = Image.open[r'C:\Users\Ron\Desktop\Test\view_1.png'] image_2 = Image.open[r'C:\Users\Ron\Desktop\Test\view_2.png'] image_3 = Image.open[r'C:\Users\Ron\Desktop\Test\view_3.png'] image_4 = Image.open[r'C:\Users\Ron\Desktop\Test\view_4.png'] im_1 = image_1.convert['RGB'] im_2 = image_2.convert['RGB'] im_3 = image_3.convert['RGB'] im_4 = image_4.convert['RGB'] image_list = [im_2, im_3, im_4] im_1.save[r'C:\Users\Ron\Desktop\Test\my_images.pdf', save_all=True, append_images=image_list]
Khi bạn chạy mã [được điều chỉnh theo đường dẫn của mình], bạn sẽ nhận được một tệp PDF chứa tất cả các hình ảnh
Bài viết này sẽ xem cách chúng ta có thể sử dụng Python để làm việc với các tệp PDF [Định dạng Tài liệu Di động]. Tệp PDF chứa hình ảnh, tài liệu, văn bản, liên kết, âm thanh, video, bạn cũng có thể thêm siêu liên kết vào tệp pdf. Vì vậy, về cơ bản, bài viết này sẽ giúp bạn Cách trích xuất văn bản và hình ảnh từ PDF bằng Python?
Các chủ đề chúng tôi đang đề cập trong bài viết này được đưa ra dưới đây.
- Đọc file PDF văn bản
- Đọc bảng trong tệp PDF
- Trích xuất hình ảnh từ tệp PDF
- Viết một tệp PDF
Làm việc với các tệp PDF trong python rất dễ dàng, bạn có thể sử dụng các loại thư viện/mô-đun Python khác nhau để làm việc trong PDF như PyPDF2, tabula-py, PyMuPDF, v.v. Chúng tôi sẽ sử dụng một số thư viện này trong hướng dẫn này vì chúng rất dễ dàng, bạn chỉ cần cài đặt thư viện và chạy một số mã trong ide của mình, hãy xem cách thực hiện quy trình này. Vì vậy, hãy bắt đầu với cách trích xuất văn bản và hình ảnh từ PDF bằng Python?
nội dung
- 1 Đọc tệp PDF
- 1. 1 Bước -1. Nhận tệp mẫu
- 1. 2 Bước -2. Cài đặt thư viện/mô-đun cần thiết
- 1. 3 Bước -3. Viết mã
- 1. 4 Đầu ra.
- 2 Đọc bảng trong tệp PDF
- 2. 1 Bước -1. Nhận tệp mẫu
- 2. 2 Bước -3. Cài đặt thư viện/mô-đun cần thiết
- 3 Trích xuất hình ảnh từ tệp PDF
- 3. 1 Bước -1. Nhận tệp mẫu
- 3. 2 Bước -2. Cài đặt thư viện/mô-đun cần thiết
- 3. 3 Bước -3. Viết mã
- 3. 4 Đầu ra.
- 4 Viết tệp PDF
- 5 Lời cuối cùng
Đọc tập tin PDF
Bước 1. Nhận một tập tin mẫu
Điều đầu tiên chúng ta cần là một. tập tin pdf [mẫu. pdf] để đọc các tập tin pdf. Sau khi bạn có. pdf hoạt động, hãy bắt đầu mã hóa
Bước 2. Cài đặt thư viện/mô-đun cần thiết
bạn cần cài đặt một thư viện có tên là PyPDF cho python, bạn có thể cài đặt nó bằng cách chạy một lệnh trong thiết bị đầu cuối của mình
pip install Pillow0
Bước 3. viết mã
Mở IDE của bạn [Tôi đang sử dụng PyCharm, bạn có thể sử dụng một IDE khác như Mã VS] và bắt đầu viết mã nhưng trước đó hãy xem các bước chúng ta cần viết mã.
- Nhập mô-đun PyPDF3 vào IDE của bạn
- Mở tệp pdf ở chế độ nhị phân và lưu đối tượng tệp dưới dạng tệp PDF
- Tạo một đối tượng của lớp PDF filereader
- In số trang trong tệp pdf bằng thuộc tính 'numPages'. Nó cho ta biết số trang [trong file pdf của ta có 206 trang]
- Sau đó, chúng tôi tạo một đối tượng của lớp pages và xác định số trang cụ thể [bắt đầu bằng 0] nội dung trang mà chúng tôi đang trích xuất ở đây chúng tôi đang trích xuất văn bản từ trang số 85
- Bây giờ chúng ta sẽ sử dụng một hàm gọi là 'extractText[]' sẽ trích xuất văn bản từ tệp PDF từ một số trang cụ thể mà chúng ta đang cung cấp
- Cuối cùng, đóng tệp PDF
Bây giờ hãy xem quy trình trong mã Python.
pip install Pillow1
đầu ra
pip install Pillow2
Trong dòng đầu tiên của đầu ra, bạn có thể thấy một số[206] là số của trang và phần còn lại của văn bản là ngữ cảnh của trang số được chỉ định
Đọc bảng trong tệp PDF
Bước 1. Nhận một tập tin mẫu
Điều đầu tiên chúng ta cần để đọc bảng trong tệp pdf là. pdf [mẫu. pdf] chứa một bảng. Sau khi bạn có. pdf hoạt động, hãy bắt đầu mã hóa.
Bước 3. Cài đặt thư viện/mô-đun cần thiết
Phương pháp -1
Bạn cần cài đặt một thư viện có tên tabula-py cho python, nó giúp đọc bảng trong tệp pdf, bạn có thể cài đặt nó bằng cách chạy một lệnh trong thiết bị đầu cuối của mình.
pip install Pillow3
Mở ý tưởng của bạn [Tôi đang sử dụng Pycharm, bạn có thể sử dụng một ý tưởng khác như mã] và bắt đầu viết mã nhưng trước đó, hãy xem các bước chúng ta cần thực hiện để viết mã
- Trước tiên, bạn cần nhập thư viện tabula
- Điều quan trọng thứ hai là tệp pdf có chứa bảng
pip install Pillow4
Bạn cũng có thể đọc nhiều bảng dưới dạng các bảng độc lập. Bạn có thể sử dụng đoạn mã dưới đây để làm như vậy.
pip install Pillow5
Phương pháp -2
Bạn cần cài đặt một thư viện tên là
pip install Pillow12 cho Python. Nó giúp đọc bảng trong tệp pdf. Bạn có thể cài đặt nó bằng cách chạy một lệnh trong thiết bị đầu cuối của mình
pip install Pillow7
Hãy xem các bước chúng ta cần viết mã
- Nhập thư viện Camelot
- Trích xuất tất cả các bảng từ pdf
- Cuối cùng in nó
Đó là một quy trình rất đơn giản, bạn chỉ cần sao chép-dán mã vào IDE của mình nhưng đừng quên giữ tệp pdf trong cùng thư mục với tệp Python
Trích xuất hình ảnh từ tệp PDF
Bước 1. Nhận một tập tin mẫu
Điều đầu tiên chúng ta cần để trích xuất hình ảnh từ tệp PDF là. tập tin pdf [mẫu. pdf] có chứa hình ảnh mà bạn muốn trích xuất. Sau khi bạn có. pdf hoạt động, hãy bắt đầu mã hóa
Bước 2. Cài đặt thư viện/mô-đun cần thiết
Bạn cần cài đặt thư viện có tên PyMuPDF [bạn cũng có thể sử dụng PyPDF2 nhưng cách này dễ hơn] cho Python. Bạn có thể cài đặt nó bằng cách chạy một lệnh trong thiết bị đầu cuối của mình
pip install Pillow8
Bước 3. viết mã
Hãy bắt đầu viết mã nhưng trước đó hãy xem các bước chúng ta cần thực hiện để viết mã
- Nhập mô-đun Fitz vào ý tưởng của bạn
- Tiếp theo, chúng ta sẽ tạo một tệp và lưu trữ tên của tệp “
pip install Pillow
13” - Sau đó, chúng tôi đang mở tệp pdf fitz. mở ra
- Sau đó, tạo một biến khác có tên image_list và áp dụng phương thức trên pdf đó là lấy PageImageList[] và cung cấp số trang
- Điều tiếp theo là chúng ta sẽ áp dụng vòng lặp này trong danh sách hình ảnh này
- Và tiếp theo, chúng tôi sẽ trích xuất Xref từ nó vì chúng tôi chỉ muốn các pixel [nếu muốn, bạn có thể trích xuất một thứ khác như vị trí của hình ảnh, thuộc tính của hình ảnh, v.v.]
- Điều tiếp theo là chúng ta cần chuyển đổi nó thành một pixmap mà chúng ta chỉ cần tạo một biến có tên là pix
- Và sau đó đặt điều kiện “nếu” nếu hình ảnh có thang độ xám hoặc màu thì chúng ta chỉ cần lưu nó
- Cuối cùng, chúng tôi chỉ cần in các hình ảnh và trích xuất chúng
from PIL import Image image_1 = Image.open[r'path where the image is stored\file name.png'] im_1 = image_1.convert['RGB'] im_1.save[r'path where the pdf will be stored\new file name.pdf']0
đầu ra
from PIL import Image image_1 = Image.open[r'path where the image is stored\file name.png'] im_1 = image_1.convert['RGB'] im_1.save[r'path where the pdf will be stored\new file name.pdf']1
Viết tệp PDF
Chúng tôi sẽ sử dụng mô-đun FPDF để ghi tệp PDF. Vì vậy, hãy cài đặt mô-đun FPDF bằng lệnh bên dưới
pip install Pillow10
Một lần, bạn đã hoàn tất việc cài đặt. Sử dụng đoạn mã dưới đây để ghi tệp PDF
pip install Pillow11
Bây giờ, bạn đã sẵn sàng với PDF. Một tệp PDF mới sẽ được tạo trong cùng thư mục chứa mã Python của bạn
Từ cuối cùng
Trong bài viết này, chúng tôi đã đề cập đến cách trích xuất văn bản và hình ảnh từ PDF bằng Python. Viết và đọc một tệp PDF có thể là một nhiệm vụ khó khăn vì nó liên quan đến rất nhiều yếu tố như văn bản, hình ảnh, bảng biểu, v.v. Nhưng chúng tôi đã đơn giản hóa để bạn hiểu những kiến thức cơ bản về thao tác với tệp PDF bằng Python. Tôi hy vọng bạn hiểu mã và bạn có thể dễ dàng thực hiện tương tự. Vui lòng cho chúng tôi biết trong phần nhận xét nếu bạn gặp phải bất kỳ sự cố nào hoặc bạn không thể chạy mã