Trích xuất tệp đính kèm PDF

Tệp PDF bao gồm văn bản và đồ họa và có thể chứa toàn bộ tệp bên trong dưới dạng tệp đính kèm. Điều này giúp việc trao đổi các bộ tài liệu dễ dàng và đáng tin cậy hơn. Ngăn Tệp đính kèm cung cấp cho bạn một vị trí trung tâm để xem, chèn, xóa và xuất tệp đính kèm. Ngoài ra, xin lưu ý rằng nếu bạn di chuyển tệp PDF đến một vị trí mới, các tệp đính kèm bên trong tệp đó cũng di chuyển theo. Các tệp đính kèm có thể bao gồm các liên kết đến hoặc từ tài liệu gốc hoặc đến các tệp đính kèm khác. Vui lòng không nhầm lẫn các bình luận đính kèm với tệp đính kèm.

Trong bài viết này, chúng ta sẽ thảo luận chi tiết về cách chúng ta có thể đọc thông tin liên quan đến tệp đính kèm trong tài liệu PDF cũng như cách chúng ta có thể tải xuống tệp đính kèm từ PDF bằng Python. Không cần tải xuống và cài đặt phần mềm cụ thể nào và thực hiện tất cả các thao tác cần thiết trên đám mây.

API xử lý PDF

Aspose.PDF Cloud là API dựa trên REST của chúng tôi cung cấp khả năng tạo, chỉnh sửa và chuyển đổi nhiều định dạng khác nhau sang PDF cũng như kết xuất các tệp PDF sang các định dạng bao gồm XLSX, PPTX, DOCX, EPUB, HTML, JPEG, v.v. và nhiều hơn nữa. Nhờ kiến trúc REST, API có thể được truy cập trên mọi nền tảng. Do đó, bạn có thể triển khai khả năng xử lý PDF trong các ứng dụng Desktop, Web, Mobile, Cloud và Hybrid.

Python SDK để xử lý PDF

Để tạo điều kiện thuận lợi hơn nữa cho khách hàng, chúng tôi đã tạo ra các SDK lập trình cụ thể để bạn có được tất cả các khả năng xử lý PDF trong ngôn ngữ bạn chọn. Tương tự như vậy, để tạo điều kiện thuận lợi cho các nhà phát triển Python, chúng tôi đã tạo ra SDK lập trình Python có tên là Aspose.PDF Cloud SDK for Python, đây là một trình bao bọc xung quanh Aspose.PDF Cloud API. Bây giờ để bắt đầu, bước đầu tiên là cài đặt. SDK có sẵn để tải xuống miễn phí qua kho lưu trữ PIPGitHub. Bây giờ hãy thực hiện lệnh sau trên thiết bị đầu cuối/dấu nhắc lệnh để cài đặt phiên bản SDK mới nhất trên hệ thống.

pip install asposepdfcloud

IDE PyCharm

Nếu bạn đang sử dụng PyCharm IDE, bạn có thể trực tiếp thêm SDK dưới dạng phần phụ thuộc vào dự án của mình.

Tệp ->Cài đặt ->Dự án ->Trình thông dịch Python ->asposepdfcloud

chú thích

Image 1:- PyCharm settings option.

Gói Python Aspose.PDF

Hình ảnh 2: - Gói Python đám mây Aspose.Pdf.

Tài khoản Cloud Dashboard miễn phí

Sau khi cài đặt, bước quan trọng tiếp theo là đăng ký miễn phí dịch vụ đám mây của chúng tôi thông qua bảng điều khiển Aspose.Cloud. Mục đích của đăng ký này là chỉ cho phép những người được ủy quyền truy cập vào dịch vụ xử lý tệp của chúng tôi. Nếu bạn có tài khoản GitHub hoặc Google, chỉ cần Đăng ký hoặc nhấp vào nút Tạo tài khoản mới và cung cấp thông tin bắt buộc. Bây giờ hãy đăng nhập vào bảng điều khiển bằng thông tin xác thực và mở rộng phần Ứng dụng từ bảng điều khiển và cuộn xuống phần Thông tin xác thực của khách hàng để xem thông tin chi tiết về ID khách hàng và Bí mật khách hàng.

Thông tin khách hàng

Hình ảnh 3: - Thông tin xác thực của khách hàng trên Bảng điều khiển Aspose.Cloud.

Đọc thông tin đính kèm từ PDF

Vui lòng làm theo hướng dẫn bên dưới để đọc thông tin đính kèm trong tài liệu PDF.

  • Đầu tiên, chúng ta cần tạo một thể hiện của lớp ApiClient trong khi cung cấp Client ID và Client Secret làm đối số.
  • Thứ hai, tạo một thể hiện của lớp PdfApi lấy đối tượng ApiClient làm đối số đầu vào.
  • Bây giờ hãy gọi phương thức getdocumentattachments(…) của PdfApi để lấy thông tin chi tiết về tệp đính kèm PDF.
def readAttachmentDetails():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # tạo phiên bản PdfApi trong khi truyền PdfApiClient làm đối số
        pdf_api = PdfApi(pdf_api_client)

        #source image file
        input_file = 'PdfWithEmbeddedFiles.pdf'
        
        # gọi API để trích xuất thông tin chi tiết về tệp đính kèm
        response = pdf_api.get_document_attachments(name = input_file)
        print(response)
        # in tin nhắn trong bảng điều khiển (tùy chọn)
        print('PDF Attachment details successfully retrieved !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

Để bạn tham khảo, bạn có thể tải xuống tài liệu PDF mẫu được sử dụng trong ví dụ trên từ PdfWithEmbeddedFiles.pdf.

Đọc thông tin đính kèm cụ thể

API cũng giúp chúng ta đọc thông tin của các tệp đính kèm cụ thể trong tài liệu PDF. Để thực hiện mục đích này, vui lòng thử sử dụng phương thức GetDocumentAttachmentByIndex. Vui lòng xem bên dưới thông tin chi tiết về tệp đính kèm đầu tiên được truy xuất.

{'attachment': {'check_sum': '33DCE2EE8BD095A3C4E2A67058104D35',
                'creation_date': '11/24/2008 02:02:36.000 PM',
                'description': None,
                'links': [{'href': '/PdfWithEmbeddedFiles.pdf/attachments/1',
                           'rel': 'self',
                           'title': None,
                           'type': None}],
                'mime_type': 'application/pdf',
                'modification_date': '05/03/2007 10:37:41.000 AM',
                'name': 'example1.pdf',
                'size': 10984},
 'code': 200,
 'status': 'OK'}

Tải xuống tệp đính kèm cụ thể từ PDF

Vui lòng làm theo hướng dẫn bên dưới để tải xuống các tệp đính kèm cụ thể từ tài liệu PDF.

  • Đầu tiên, chúng ta cần tạo một thể hiện của lớp ApiClient trong khi cung cấp Client ID và Client Secret làm đối số.
  • Thứ hai, tạo một thể hiện của lớp PdfApi lấy đối tượng ApiClient làm đối số đầu vào.
  • Bây giờ hãy gọi phương thức GetDownloadDocumentAttachmentByIndex(…) để tải xuống tệp đính kèm từ tệp PDF.
def downloadAttachment():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # tạo phiên bản PdfApi trong khi truyền PdfApiClient làm đối số
        pdf_api = PdfApi(pdf_api_client)

        #source image file
        input_file = 'PdfWithEmbeddedFiles.pdf'
        
        # gọi API để tải xuống tệp đính kèm đầu tiên từ tệp PDF
        response = pdf_api.get_download_document_attachment_by_index(name = input_file, attachment_index=1)
        print(response)
        # in tin nhắn trong bảng điều khiển (tùy chọn)
        print('PDF Attachment successfully downloaded !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

Đọc thông tin đính kèm bằng lệnh cURL

Có thể dễ dàng truy cập API REST thông qua lệnh cURL và chúng ta có thể sử dụng một ứng dụng đầu cuối đơn giản để thực thi chúng. Vì Aspose.PDF Cloud được phát triển theo kiến trúc REST, chúng ta cũng có thể truy cập chúng thông qua lệnh cURL. Tuy nhiên, như một điều kiện tiên quyết, chúng ta cần tạo JSON Web Token (JWT) dựa trên thông tin xác thực của từng khách hàng được chỉ định trên bảng điều khiển Aspose.Cloud. Điều này là bắt buộc vì API của chúng tôi chỉ có thể truy cập được đối với người dùng đã đăng ký. Vui lòng thực thi lệnh sau để tạo mã thông báo JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Bây giờ chúng ta đã có mã thông báo JWT, chúng ta có thể thực hiện lệnh sau để lấy thông tin về các tệp đính kèm cụ thể từ tài liệu PDF.

curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/PdfWithEmbeddedFiles.pdf/attachments/1" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Tải xuống tệp đính kèm cụ thể bằng lệnh cURL

Vui lòng thực hiện lệnh sau để tải xuống tệp đính kèm thứ 2 của tệp PDF và lưu vào ổ đĩa cục bộ.

curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/PdfWithEmbeddedFiles.pdf/attachments/2/download" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o Attachment.txt

Phần kết luận

Bài viết này đã giải thích chi tiết và các bước về cách chúng ta có thể đọc và tải xuống tệp đính kèm từ tài liệu PDF. Chúng tôi đã khám phá các bước bằng cách sử dụng đoạn mã Python cũng như sử dụng lệnh cURL. Ngoài việc xử lý tệp đính kèm, API còn cung cấp rất nhiều tính năng liên quan đến các thành phần khác của tệp PDF và thông tin chi tiết của chúng có thể được tìm thấy trong Hướng dẫn dành cho nhà phát triển. Ngoài ra, mã nguồn đầy đủ của Aspose.PDF Cloud SDK dành cho Python đã có sẵn để tải xuống qua GitHub. Trong trường hợp bạn gặp bất kỳ sự cố nào khi sử dụng API hoặc có bất kỳ thắc mắc nào khác, vui lòng liên hệ với chúng tôi qua Diễn đàn hỗ trợ sản phẩm miễn phí.

Bài viết liên quan

Chúng tôi cũng khuyên bạn nên truy cập vào các liên kết sau để tìm hiểu thêm về: