Trích xuất hình ảnh từ tài liệu PDF

Bạn có thể cần trích xuất hình ảnh từ tài liệu PDF hoặc Word của mình để sử dụng lại chúng. Bạn có thể dễ dàng trích xuất hình ảnh từ tài liệu PDF theo chương trình trên đám mây. Bài viết này sẽ giải thích cách trích xuất hình ảnh từ tài liệu PDF bằng API REST trong Python.

Các chủ đề sau đây sẽ được đề cập trong bài viết này:

Trình phân tích cú pháp tài liệu API REST và Python SDK

Để trích xuất hình ảnh từ tài liệu PDF, tôi sẽ sử dụng API Python SDK của GroupDocs.Parser Cloud. Nó cho phép bạn phân tích dữ liệu từ tất cả các loại tài liệu phổ biến. Bạn có thể trích xuất văn bản, hình ảnh và phân tích cú pháp dữ liệu theo mẫu bằng cách sử dụng SDK. Nó cũng cung cấp SDK .NET, Java, PHP, Ruby và Node.js dưới dạng các thành viên trong họ trình phân tích cú pháp tài liệu cho Cloud API.

Bạn có thể cài đặt GroupDocs.Parser Cloud cho dự án Python của mình bằng pip (trình cài đặt gói cho python) bằng cách sử dụng lệnh sau trong bảng điều khiển:

pip install groupdocs_parser_cloud

Vui lòng lấy ID khách hàng và Bí mật khách hàng của bạn từ bảng điều khiển trước khi bạn bắt đầu làm theo các bước và ví dụ về mã có sẵn. Khi bạn có ID khách hàng và Bí mật, hãy thêm mã như hình bên dưới:

client_id = "112f0f38-9dae-42d5-b4fc-cc84ae644972"
client_secret = "16ad3fe0bdc39c910f57d2fd48a5d618"

configuration = groupdocs_parser_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Trích xuất hình ảnh từ PDF bằng API REST trong Python

Bạn có thể trích xuất hình ảnh từ tài liệu PDF bằng cách thực hiện theo các bước đơn giản dưới đây:

Tải lên tài liệu

Trước hết, hãy tải tài liệu PDF lên Đám mây bằng ví dụ mã được cung cấp bên dưới:

# khởi tạo api
file_api = groupdocs_parser_cloud.FileApi.from_config(configuration)
my_storage = ""

request = groupdocs_parser_cloud.UploadFileRequest("sample.pdf", "C:\\Files\\sample.pdf", my_storage)
response = file_api.upload_file(request)

Do đó, tệp PDF đã tải lên (sample.pdf) sẽ có sẵn trong phần tệp trên trang tổng quan của bạn trên đám mây.

Trích xuất tất cả hình ảnh từ tài liệu PDF bằng Python

Bạn có thể dễ dàng trích xuất tất cả các hình ảnh từ tệp PDF theo chương trình bằng cách thực hiện theo các bước được đề cập bên dưới.

  • Tạo một phiên bản của ParseApi
  • Xác định ImageOptions
  • Đặt đường dẫn đến tệp PDF
  • Tạo hình ảnhRequest
  • Nhận kết quả bằng cách gọi phương thức ParseApi.images()

Mẫu mã sau đây cho biết cách trích xuất tất cả hình ảnh từ tài liệu PDF bằng API REST.

# khởi tạo api
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)
# xác định tùy chọn hình ảnh
options = groupdocs_parser_cloud.ImagesOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "sample.pdf"

# tạo yêu cầu
request = groupdocs_parser_cloud.ImagesRequest(options)
result = parseApi.images(request)

for image in result.images:
    print("Image path in storage: " + image.path + ". Download url: " + image.download_url)
    print("Image format: " + image.file_format + ". Page index: " + str(image.page_index))
Trích xuất tất cả hình ảnh từ tài liệu PDF.

Trích xuất tất cả hình ảnh từ tài liệu PDF.

Tải xuống hình ảnh được trích xuất

Mẫu mã trên sẽ lưu các hình ảnh được trích xuất trên đám mây. Bạn có thể tải xuống những hình ảnh này bằng mẫu mã được cung cấp bên dưới:

# khởi tạo api
file_api = groupdocs_parser_cloud.FileApi.from_config(configuration)
my_storage = ""
  
# Tải hình ảnh 
request = groupdocs_parser_cloud.DownloadFileRequest(image.path, my_storage)
response = file_api.download_file(request)

# Di chuyển tệp đã tải xuống vào thư mục làm việc của bạn
shutil.move(response, "C:\\Files\\Images")

Lưu hình ảnh theo số trang từ tài liệu PDF bằng Python

Bạn có thể dễ dàng trích xuất hình ảnh từ các trang cụ thể của tệp PDF theo chương trình bằng cách thực hiện theo các bước được đề cập bên dưới.

  • Tạo một phiên bản của ParseApi
  • Xác định ImageOptions
  • Cung cấp đường dẫn đến tệp PDF
  • Đặt số trang bắt đầu
  • Đặt số lượng trang để trích xuất
  • Tạo hình ảnhRequest
  • Nhận kết quả bằng cách gọi phương thức ParseApi.images()

Mẫu mã sau đây cho biết cách trích xuất hình ảnh theo phạm vi số trang từ tài liệu PDF bằng API REST. Vui lòng làm theo các bước được đề cập trước đó để tải xuống các hình ảnh được giải nén.

# khởi tạo api
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)
# xác định tùy chọn hình ảnh
options = groupdocs_parser_cloud.ImagesOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "sample.pdf"
# xác định phạm vi trang
options.start_page_number = 1
options.count_pages_to_extract = 1

# tạo yêu cầu
request = groupdocs_parser_cloud.ImagesRequest(options)
result = parseApi.images(request)

for page in result.pages:
    print("Images from " + str(page.page_index) + " page.")
   for image in page.images:
        print("Image path in storage: " + image.path + ". Download url: " + image.download_url)
        print("Image format: " + image.file_format + ". Page index: " + str(image.page_index))
Trích xuất hình ảnh theo phạm vi số trang từ tài liệu PDF.

Trích xuất hình ảnh theo phạm vi số trang từ tài liệu PDF.

Nhận hình ảnh từ tài liệu được đính kèm với PDF bằng Python

Bạn có thể trích xuất hình ảnh từ tài liệu bên trong vùng chứa, có sẵn dưới dạng tệp đính kèm trong tệp PDF theo chương trình bằng cách thực hiện theo các bước được đề cập bên dưới.

  • Tạo một phiên bản của ParseApi
  • Xác định ImageOptions
  • Đặt đường dẫn đến tệp PDF
  • Xác định ContainerItemInfo
  • Cung cấp đường dẫn tương đối của tài liệu bên trong
  • Đặt số trang bắt đầu
  • Đặt số lượng trang để trích xuất
  • Tạo hình ảnhRequest
  • Nhận kết quả bằng cách gọi phương thức ParseApi.images()

Mẫu mã sau đây cho biết cách trích xuất hình ảnh từ tài liệu bên trong tài liệu PDF bằng API REST. Vui lòng làm theo các bước được đề cập trước đó để tải xuống các hình ảnh được giải nén.

# khởi tạo api
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)

# xác định tùy chọn hình ảnh
options = groupdocs_parser_cloud.ImagesOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "PDF_with_attachements.pdf"
options.file_info.password = "password"
# đặt mục container
container_info = groupdocs_parser_cloud.ContainerItemInfo()
container_info.relative_path = "template-document.pdf"
options.container_item_info = container_info
# xác định phạm vi trang
options.start_page_number = 2
options.count_pages_to_extract = 1

# tạo yêu cầu
request = groupdocs_parser_cloud.ImagesRequest(options)
result = parseApi.images(request)

for page in result.pages:
    print("Images from " + str(page.page_index) + " page.")
   for image in page.images:
        print("Image path in storage: " + image.path + ". Download url: " + image.download_url)
        print("Image format: " + image.file_format + ". Page index: " + str(image.page_index))
Trích xuất hình ảnh từ tài liệu đính kèm trong tài liệu PDF

Trích xuất hình ảnh từ tài liệu đính kèm trong tài liệu PDF.

Thử trực tuyến

Vui lòng dùng thử công cụ Phân tích cú pháp PDF trực tuyến miễn phí sau đây, được phát triển bằng cách sử dụng API ở trên. https://products.groupdocs.app/parser/pdf

Phần kết luận

Trong bài viết này, bạn đã học cách trích xuất hình ảnh từ tài liệu PDF trên đám mây. Bài viết này cũng giải thích cách tải tệp PDF lên đám mây theo chương trình. Bạn cũng đã học cách tải xuống các hình ảnh được trích xuất bằng SDK. Bạn có thể tìm hiểu thêm về GroupDocs.Parser Cloud API bằng cách sử dụng tài liệu. Chúng tôi cũng cung cấp phần Tham khảo API cho phép bạn hình dung và tương tác trực tiếp với các API của chúng tôi thông qua trình duyệt. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm