Thêm văn bản và hình ảnh vào tiêu đề PDF

Khi nói đến việc tạo các tài liệu PDF chuyên nghiệp và hấp dẫn về mặt hình ảnh, khả năng thêm hình ảnh và văn bản vào tiêu đề là một tính năng bắt buộc phải có. Phần tiêu đề là một trong những khu vực quan trọng nhất của tài liệu, vì nó cung cấp cho người đọc thông tin cần thiết như tiêu đề, tác giả và ngày. Trong khi việc thêm văn bản vào tiêu đề là một quá trình tương đối đơn giản, việc thêm hình ảnh có thể khó khăn hơn, đặc biệt là đối với các nhà phát triển Python mới làm quen với việc tạo tài liệu PDF. Trong bài viết này, chúng ta sẽ khám phá cách thêm hình ảnh và văn bản vào tiêu đề của tài liệu PDF bằng Python Cloud SDK.

Bạn có thể thêm hình ảnh, logo, ngày và giờ tạo tài liệu, tiêu đề tài liệu, số phiên bản hoặc bản sửa đổi, bản nháp, tên tác giả và tên chương vào tiêu đề PDF.

REST API cho việc lắp ráp tài liệu PDF

Aspose.PDF Cloud SDK for Python cung cấp nhiều chức năng và phương pháp cho phép các nhà phát triển thao tác các tệp PDF theo chương trình. Nó cũng cung cấp một bộ công cụ mạnh mẽ và linh hoạt để thêm hình ảnh và văn bản vào tiêu đề tài liệu PDF và có thể dễ dàng tích hợp vào các ứng dụng Python để xử lý tài liệu PDF tự động. Bây giờ liên quan đến quy trình thêm hình ảnh vào tiêu đề, nó bao gồm việc chỉ định vị trí và kích thước của hình ảnh, cũng như số trang mà hình ảnh sẽ xuất hiện. Tương tự như vậy, việc thêm văn bản vào tiêu đề yêu cầu chỉ định nội dung văn bản, kích thước phông chữ và các tùy chọn định dạng khác. SDK cũng cung cấp các tùy chọn để kiểm soát căn chỉnh và định vị nội dung tiêu đề, cũng như để chỉ định màu nền của tiêu đề.

Bây giờ, trước tiên chúng ta cần cài đặt SDK có sẵn miễn phí để tải xuống qua kho lưu trữ PIPGitHub. Chỉ cần thực hiện lệnh sau để cài đặt phiên bản mới nhất của SDK.

pip install asposepdfcloud

Để truy cập REST API, bạn cần đăng ký và lấy thông tin cá nhân của mình. Vui lòng xem qua Hướng dẫn bắt đầu nhanh để biết thông tin liên quan.

Thêm văn bản vào tiêu đề PDF bằng Python

SDK cho phép bạn thêm chuỗi văn bản vào phần tiêu đề của tài liệu và yêu cầu này có thể được thực hiện bằng các bước sau.

  • Đầu tiê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 đối tượng của lớp PdfApi lấy đối tượng ApiClient làm tham số đầu vào.
  • Thứ ba, tạo một đối tượng TextHeader để xác định các thuộc tính của thể hiện TextHeader.
  • Để thiết lập định dạng văn bản cho TextHeader, hãy tạo một đối tượng TextState trong đó chúng ta xác định màu nền, kích thước phông chữ, tên phông chữ, v.v.
  • Cuối cùng, gọi phương thức postdocumenttextheader(..) để thêm Tiêu đề văn bản vào tài liệu PDF và lưu tệp kết quả vào bộ nhớ đám mây.
def addTextHeader():
    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 PDF file
        input_file = 'awesomeTable.pdf'
        
        # Tạo một đối tượng xác định Tiêu đề văn bản
        textHeader = asposepdfcloud.TextHeader()
        # đặt giá trị để hiển thị tiêu đề ở chế độ nền
        textHeader.background = False
        # đặt căn chỉnh theo chiều ngang cho Tiêu đề văn bản ở giữa
        textHeader.horizontal_alignment = 'Center'
        # đặt độ mờ của tiêu đề là 0,5
        textHeader.opacity = 0.5
        # không có góc quay
        textHeader.rotate = None
        textHeader.rotate_angle = 0
        # đặt giá trị thụt lề X và Y
        textHeader.x_indent = 100
        textHeader.y_indent = 100
        # đặt hệ số thu phóng là 1.0
        textHeader.zoom = 1.0
        # giá trị Văn bản được hiển thị bên trong tiêu đề
        textHeader.value = 'Aspose.PDF Cloud'

        # tạo một thể hiện của TextState xác định định dạng của văn bản
        textState = asposepdfcloud.TextState(font_size=15, font='Arial', foreground_color=
              {"A": 0,
              "R": 252,
              "G": 173,
              "B": 3},font_style=2)
        # truyền đối tượng TextState cho TextHeader
        textHeader.text_state = textState

        # gọi API để thêm Tiêu đề văn bản vào tài liệu PDF
        response = pdf_api.post_document_text_header(name = input_file, text_header = textHeader)
        
        # in mã phản hồi trong bảng điều khiển
        print(response)
        # in tin nhắn trong bảng điều khiển (tùy chọn)
        print('Text Header successfully added to PDF !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)
Tiêu đề văn bản trong PDF

Hình ảnh 2: - Xem trước Tiêu đề văn bản trong tài liệu PDF.

Các tệp PDF đầu vào và kết quả có thể được tải xuống từ awesomeTable.pdfawecomeTable-TextHeader.pdf.

Thêm hình ảnh vào tiêu đề PDF bằng Python

Vui lòng làm theo hướng dẫn bên dưới để thêm đối tượng Hình ảnh vào phần tiêu đề PDF. Tệp kết quả sẽ được tải lên bộ nhớ đám mây.

  • Trước hết, hãy 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 đối tượng của lớp PdfApi lấy đối tượng ApiClient làm tham số đầu vào.
  • Bây giờ hãy tạo một đối tượng ImageHeader để xác định các thuộc tính của ImageHeader.
  • Để kiểm soát việc hiển thị tiêu đề trên các trang nhất định, các giá trị được gán cho các tham số tùy chọn startpagenumber và endpagenumber.
  • Cuối cùng, gọi phương thức postdocumentimageheader(..) để thêm Image Header vào tài liệu PDF và lưu tệp kết quả vào Cloud storage. Lưu ý rằng header chỉ được thêm vào hai trang đầu tiên của tài liệu (như được chỉ định trong mã).
def addImageHeader():
    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 PDF file
        input_file = 'awesomeTable.pdf'
        
        # tạo phiên bản ImageHeader
        imageHeader = asposepdfcloud.ImageHeader()
        # đặt thuộc tính nền là đúng
        imageHeader.background = True
        # đặt căn chỉnh ngang là Phải
        imageHeader.horizontal_alignment = 'Right'
        imageHeader.opacity = 0.7
        imageHeader.rotate = None
        imageHeader.rotate_angle = 0
        imageHeader.x_indent = 10
        imageHeader.y_indent = 10
        imageHeader.zoom = .5
        # tên của tệp hình ảnh có sẵn trong bộ nhớ đám mây sẽ được thêm vào tiêu đề
        imageHeader.file_name = 'Koala.jpg'
        # chiều rộng của hình ảnh trong tiêu đề
        imageHeader.width = 120
        # chiều cao của hình ảnh trong tiêu đề
        imageHeader.height = 120
        imageHeader.left_margin = 0
        imageHeader.top_margin = 10
        imageHeader.right_margin = 10
        
        # trang bắt đầu của tài liệu để thêm Tiêu đề
        startPage = 1
        # trang cuối của tài liệu để thêm Tiêu đề
        endPage = 2

        # gọi API để thêm tiêu đề Hình ảnh vào tài liệu PDF và lưu tệp kết quả vào bộ nhớ đám mây
        response = pdf_api.post_document_image_header(name = input_file, image_header = imageHeader, start_page_number = startPage, end_page_number=endPage)
        
        # in mã phản hồi trong bảng điều khiển
        print(response)
        
        # in tin nhắn trong bảng điều khiển (tùy chọn)
        print('Image Header successfully added to PDF !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)
chú thích

Image 3:- Preview of Image Header added in PDF.

Các tệp nguồn và tệp kết quả được tạo trong ví dụ trên có thể được tải xuống từ

Thêm Tiêu đề Văn bản vào PDF bằng Lệnh cURL

Các lệnh cURL cung cấp một cơ chế thuận tiện để truy cập REST API thông qua các thiết bị đầu cuối dòng lệnh. Vì Aspose.PDF Cloud cũng được phát triển theo kiến trúc REST, nên chúng ta cũng có thể truy cập API bằng các lệnh cURL. Cách tiếp cận này có thể hữu ích cho các nhà phát triển thích làm việc với các công cụ dòng lệnh hoặc những người cần tích hợp chỉnh sửa tiêu đề PDF vào quy trình làm việc tự động hóa lớn hơn.

Bây giờ để sử dụng REST API, chúng ta cần tạo JSON Web accessToken (JWT) dựa trên thông tin xác thực của khách hàng bằng cách thực hiện lệnh sau.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=88d1cda8-b12c-4a80-b1ad-c85ac483c5c5&client_secret=406b404b2df649611e508bbcfcd2a77f" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Sau khi có JWT Token, vui lòng thử sử dụng lệnh sau để thêm văn bản vào phần tiêu đề của tài liệu ở trang 1 và trang 2.

curl -X POST "https://api.aspose.cloud/v3.0/pdf/awesomeTable.pdf/header/text?startPageNumber=1&endPageNumber=2" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{  \"Background\": false,  \"HorizontalAlignment\": \"Center\",  \"Opacity\": 0.5,  \"Rotate\": \"None\",  \"RotateAngle\": 0,  \"XIndent\": 100,  \"YIndent\": 10,  \"Zoom\": 1.0,  \"TextAlignment\": \"None\",  \"Value\": \"Aspose.PDF Cloud\",  \"TextState\": {    \"FontSize\": 15,    \"Font\": \"Arial\",    \"ForegroundColor\": {      \"A\": 0,      \"R\": 252,      \"G\": 173,      \"B\": 3    },    \"BackgroundColor\": {      \"A\": 10,      \"R\": 0,      \"G\": 0,      \"B\": 0    }  },  \"LeftMargin\": 0,  \"TopMargin\": 0,  \"RightMargin\": 0}"

Thêm Tiêu đề Hình ảnh vào PDF bằng Lệnh cURL

Vui lòng thử sử dụng lệnh cURL sau để thêm Tiêu đề hình ảnh vào tài liệu PDF và lưu tệp kết quả vào bộ nhớ đám mây. Trong lệnh sau, tiêu đề hình ảnh vào trang thứ 1 và thứ 2 của tài liệu, trong đó độ mờ được xác định là 0,7, hệ số thu phóng là 0,5 và các thuộc tính chiều cao và chiều rộng của hình ảnh được xác định là 120 điểm.

curl -X POST "https://api.aspose.cloud/v3.0/pdf/awesomeTable.pdf/header/image?startPageNumber=1&endPageNumber=2" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{  \"Background\": true,  \"HorizontalAlignment\": \"Right\",  \"Opacity\": 0.7,  \"Rotate\": \"None\",  \"RotateAngle\": 0,  \"XIndent\": 10,  \"YIndent\": 10,  \"Zoom\": .5,  \"FileName\": \"Koala.jpg\",  \"Width\": 120,  \"Height\": 120,  \"LeftMargin\": 0,  \"TopMargin\": 10,  \"RightMargin\": 10}"

Phần kết luận

Tóm lại, việc thêm hình ảnh và văn bản vào tiêu đề của tài liệu PDF là một tính năng hữu ích có thể tăng cường sức hấp dẫn trực quan và thương hiệu cho tài liệu của bạn. Với Aspose.PDF Cloud SDK dành cho Python, đây là một nhiệm vụ đơn giản để hoàn thành chỉ với một vài dòng mã. Cho dù bạn đang tạo hóa đơn, báo cáo hay bất kỳ tài liệu nào khác yêu cầu tiêu đề, tính năng này có thể giúp bạn tiết kiệm thời gian và công sức đồng thời cải thiện chất lượng đầu ra của bạn. Ngoài việc sử dụng Aspose.PDF Cloud SDK dành cho Python, chúng tôi cũng đã biết rằng cũng có thể thêm hình ảnh và văn bản vào tiêu đề PDF bằng lệnh cURL.

Chúng tôi hy vọng rằng bài viết này đã cung cấp cho bạn mọi hướng dẫn và nguồn cảm hứng cần thiết để thêm chức năng này vào ứng dụng Python của bạn.

Liên kết hữu ích

Bài viết liên quan

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