Trích xuất các trang cụ thể từ PDF

Bạn có thể cần trích xuất các trang cụ thể từ tài liệu PDF hoặc có thể cần chia tài liệu PDF lớn thành các phần nhỏ hơn. Là nhà phát triển Python, bạn có thể dễ dàng trích xuất các trang cụ thể từ tài liệu PDF theo số trang hoặc theo phạm vi trang theo chương trình. Trong bài viết này, bạn sẽ tìm hiểu cách trích xuất các trang cụ thể 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:

Bộ chia tài liệu API REST và Python SDK

Để trích xuất các trang từ tài liệu PDF, tôi sẽ sử dụng Python SDK của GroupDocs.Merger Cloud API. Đây là SDK đám mây có hiệu suất cao và giàu tính năng được sử dụng để hợp nhất một số tài liệu thành một tài liệu duy nhất. Nó cũng cho phép bạn chia một tài liệu thành nhiều tài liệu. SDK cung cấp chức năng xóa, trao đổi, xoay hoặc thay đổi hướng trang cho toàn bộ hoặc phạm vi trang ưa thích và thực hiện các thao tác khác một cách dễ dàng đối với mọi định dạng tệp được hỗ trợ, chẳng hạn như trang tính PDF, Word, Powerpoint và Excel. Hiện tại, nó cũng cung cấp SDK .NET, Java, PHP, Ruby, Android và Node.js dưới dạng các thành viên gia đình hợp nhất tài liệu cho Cloud API.

Bạn có thể cài đặt GroupDocs.Merger-Cloud cho dự án Python của mình bằng lệnh sau trong bảng điều khiển:

pip install groupdocs_merger_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 và bí mật của mình, hãy thêm mã như minh họa bên dưới:

client_id = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5"
client_secret = "479db2b01dcb93a3d4d20efb16dea971"

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

Trích xuất các trang cụ thể từ PDF bằng API REST trong Python

Bạn có thể trích xuất các trang cụ thể 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:

  1. Tải lên tệp PDF lên Đám mây
  2. Trích xuất các trang cụ thể theo số trang từ tệp PDF đã tải lên
  3. Tải xuống(các) tệp đã giải nén

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

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

# tạo phiên bản của API
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
my_storage = ""

# tải lên các tập tin mẫu
request = groupdocs_merger_cloud.UploadFileRequest("ten-pages.pdf", "C:\\Files\\ten-pages.pdf", my_storage)
response = file_api.upload_file(request)

Do đó, tệp PDF sẽ được tải lên Cloud Storage và sẽ có trong phần tệp trên trang tổng quan của bạn.

Trích xuất các trang cụ thể theo số trang bằng Python

Vui lòng làm theo các bước được đề cập bên dưới để trích xuất một trang cụ thể hoặc nhiều trang từ tài liệu PDF theo chương trình.

  • Tạo phiên bản API tài liệu
  • Cung cấp SplitOptions
  • Đặt đường dẫn tệp đầu vào
  • Đặt đường dẫn thư mục đầu ra
  • Cung cấp số trang được phân tách bằng dấu phẩy để trích xuất
  • Đặt chế độ thành Trang
  • Tạo SplitRequest
  • Nhận kết quả bằng cách gọi phương thức DocumentApi.split()

Ví dụ mã sau đây cho biết cách trích xuất các trang bằng cách cung cấp số trang cụ thể từ tài liệu PDF bằng API REST.

# khởi tạo api
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)

# xác định tùy chọn phân chia
options = groupdocs_merger_cloud.SplitOptions()
options.file_info = groupdocs_merger_cloud.FileInfo("ten-pages.pdf")
options.output_path = "Output"
options.pages = [1, 3]
options.mode = "Pages"

# tạo yêu cầu tách
split_request = groupdocs_merger_cloud.SplitRequest(options)
result = documentApi.split(split_request)        

print("Documents count = " + str(len(result.documents)))
Trích xuất các trang cụ thể từ PDF bằng Python

Trích xuất các trang cụ thể từ PDF bằng Python

Tải xuống tệp trang được giải nén

Mẫu mã trên sẽ lưu các trang được trích xuất trong các tệp PDF riêng biệt trên đám mây. Bạn có thể tải chúng xuống bằng cách sử dụng mẫu mã sau:

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

# tải tập tin yêu cầu
request = groupdocs_merger_cloud.DownloadFileRequest("Output\\ten-pages_1.pdf", 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\\")

Trích xuất các trang theo phạm vi trang bằng Python

Vui lòng làm theo các bước được đề cập bên dưới để trích xuất các trang từ tài liệu PDF bằng cách cung cấp phạm vi trang theo chương trình.

  • Tạo phiên bản API tài liệu
  • Cung cấp SplitOptions
  • Đặt đường dẫn tệp đầu vào
  • Đặt đường dẫn thư mục đầu ra
  • Cung cấp phạm vi trang bằng cách đặt số trang bắt đầu và số trang kết thúc để trích xuất
  • Đặt chế độ thành Trang
  • Tạo SplitRequest
  • Nhận kết quả bằng cách gọi phương thức DocumentApi.split()
  • Tạo DownloadFileRequest
  • Tải xuống tệp bằng cách gọi phương thức FileApi.download\file()

Ví dụ mã sau đây cho biết cách trích xuất các trang bằng cách cung cấp một phạm vi 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 tệp lên.

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

# xác định tùy chọn phân chia
options = groupdocs_merger_cloud.SplitOptions()
options.file_info = groupdocs_merger_cloud.FileInfo("ten-pages.pdf")
options.output_path = "Output"
options.start_page_number = 4
options.end_page_number = 7
options.mode = "Pages"

# tạo yêu cầu tách
split_request = groupdocs_merger_cloud.SplitRequest(options)
result = documentApi.split(split_request)   

print("Documents count = " + str(len(result.documents)))

# hiển thị kết quả và tải xuống từng tệp một
for data in result.documents:
    print("Document Url = " + str(data))
    
    # tạo yêu cầu tệp tải xuống
    request = groupdocs_merger_cloud.DownloadFileRequest(data.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\\")
Trích xuất các trang theo phạm vi trang bằng Python

Trích xuất các trang theo phạm vi trang bằng Python

Thử trực tuyến

Vui lòng dùng thử công cụ tách 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/splitter/pdf

Phần kết luận

Trong bài viết này, bạn đã học cách trích xuất các trang cụ thể từ tài liệu PDF trên đám mây bằng Python. Bạn cũng đã học cách lập trình tải tệp PDF lên đám mây và sau đó tải xuống các tệp đã giải nén từ đám mây. Bạn có thể tìm hiểu thêm về GroupDocs.Merger 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