將文字和圖像新增至 PDF 頁眉

在建立專業且具有視覺吸引力的 PDF 文件時,能夠為頁眉添加圖像和文字是一項必備功能。標題部分是文件中最重要的區域之一,因為它為讀者提供標題、作者和日期等重要資訊。雖然為標題添加文字是一個相對簡單的過程,但添加圖像可能更具挑戰性,特別是對於剛接觸 PDF 文件生成的 Python 開發人員。在本文中,我們將探討如何使用 Python Cloud SDK 為 PDF 文件的標題新增圖像和文字。

您可以在 PDF 頁眉中新增圖像、標誌、建立文件的日期和時間、文件標題、版本或修訂號、草稿、作者姓名和章節名稱。

PDF 文件組裝的 REST API

Aspose.PDF Cloud SDK for Python提供了多種函數和方法,讓開發人員以程式方式操作PDF檔案。它還提供了一套強大而靈活的工具,用於向 PDF 文件標題添加圖像和文本,並且可以輕鬆整合到 Python 應用程式中以實現自動化 PDF 文件處理。現在關於為頁首添加圖像的過程,它涉及指定圖像的位置和尺寸,以及圖像應出現的頁碼。同樣,向頁眉添加文字需要指定文字內容、字體大小和其他格式選項。 SDK 還提供了控制頁眉內容的對齊和定位以及指定頁眉背景顏色的選項。

現在,我們首先需要安裝 SDK,它可以透過 PIPGitHub 儲存庫免費下載。只需執行以下命令即可安裝最新版本的 SDK。

pip install asposepdfcloud

為了存取 REST API,您需要註冊並取得您的個人憑證。請查看快速入門指南以了解相關資訊。

使用 Python 將文字加入 PDF 頁眉

SDK 可讓您將文字字串新增至文件的標題部分,並且可以使用下列步驟完成此要求。

  • 首先,建立 ApiClient 類別的實例,並提供客戶端 ID 客戶端金鑰作為參數。
  • 其次,建立一個 PdfApi 類別的對象,該物件以 ApiClient 物件作為輸入參數。
  • 第三,建立一個 TextHeader 物件並定義 TextHeader 實例的屬性。
  • 為了設定 TextHeader 的文字格式,建立一個 TextState 對象,我們在其中定義前景色、字體大小、字體名稱等。
  • 最後,呼叫 postdocumenttextheader(..) 方法將文字標題新增至 PDF 文件並將結果檔案儲存到雲端儲存。
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)

        # 建立 PdfApi 實例並傳遞 PdfApiClient 作為參數
        pdf_api = PdfApi(pdf_api_client)

        #source PDF file
        input_file = 'awesomeTable.pdf'
        
        # 建立定義文字標題的對象
        textHeader = asposepdfcloud.TextHeader()
        # 設定值以在背景渲染標題
        textHeader.background = False
        # 將文字標題的水平對齊方式設定為居中
        textHeader.horizontal_alignment = 'Center'
        # 將標題的不透明度設為 0.5
        textHeader.opacity = 0.5
        # 無旋轉角度
        textHeader.rotate = None
        textHeader.rotate_angle = 0
        # 設定 X 和 Y 縮排值
        textHeader.x_indent = 100
        textHeader.y_indent = 100
        # 將縮放係數設定為 1.0
        textHeader.zoom = 1.0
        # 要在標題內呈現的文字值
        textHeader.value = 'Aspose.PDF Cloud'

        # 建立 TextState 實例來定義文字的格式
        textState = asposepdfcloud.TextState(font_size=15, font='Arial', foreground_color=
              {"A": 0,
              "R": 252,
              "G": 173,
              "B": 3},font_style=2)
        # 將 TextState 物件傳遞給 TextHeader
        textHeader.text_state = textState

        # 呼叫 API 為 PDF 文件新增文字標題
        response = pdf_api.post_document_text_header(name = input_file, text_header = textHeader)
        
        # 在控制台中列印回應代碼
        print(response)
        # 在控制台中列印訊息(可選)
        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)
PDF 中的文字標題

圖 2:PDF 文件中文字標題的預覽。

輸入和產生的 PDF 檔案可從 awesomeTable.pdfawesomeTable-TextHeader.pdf 下載。

使用 Python 將圖像新增至 PDF 標題

請按照以下說明將圖像物件新增至 PDF 標題部分。產生的文件上傳至雲端儲存。

  • 首先,建立 ApiClient 類別的實例,並提供客戶端 ID 客戶端金鑰作為參數。
  • 其次,建立一個 PdfApi 類別的對象,該物件以 ApiClient 物件作為輸入參數。
  • 現在建立一個 ImageHeader 對象,定義 ImageHeader 的屬性。
  • 為了控制某些頁面上標題的呈現,為 startpagenumber 和 endpagenumber 選用參數指派了值。
  • 最後,呼叫 postdocumentimageheader(..) 方法將影像頭新增至 PDF 文件並將結果檔案儲存至雲端儲存。請注意,頁首僅新增至文件的前兩頁(如程式碼所述)。
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)

        # 建立 PdfApi 實例並傳遞 PdfApiClient 作為參數
        pdf_api = PdfApi(pdf_api_client)

        #source PDF file
        input_file = 'awesomeTable.pdf'
        
        # 建立 ImageHeader 實例
        imageHeader = asposepdfcloud.ImageHeader()
        # 將 background 屬性設為 true
        imageHeader.background = True
        # 設定水平對齊方式為右
        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
        # 可在雲端儲存中新增的映像檔的名稱
        imageHeader.file_name = 'Koala.jpg'
        # 標題中圖片的寬度
        imageHeader.width = 120
        # 標題中圖片的高度
        imageHeader.height = 120
        imageHeader.left_margin = 0
        imageHeader.top_margin = 10
        imageHeader.right_margin = 10
        
        # 若要新增頁首的文件起始頁
        startPage = 1
        # 文件的結束頁新增頁眉
        endPage = 2

        # 呼叫 API 在 PDF 文件中新增圖片標題,並將生成的檔案保存在雲端儲存中
        response = pdf_api.post_document_image_header(name = input_file, image_header = imageHeader, start_page_number = startPage, end_page_number=endPage)
        
        # 在控制台中列印回應代碼
        print(response)
        
        # 在控制台中列印訊息(可選)
        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)
標題

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

上述範例中產生的來源檔案和結果檔案可以從以下位置下載:

使用 cURL 指令為 PDF 新增文字標題

cURL 命令提供了一種透過命令列終端存取 REST API 的便捷機制。由於 Aspose.PDF Cloud 也是依照 REST 架構開發的,因此我們也可以使用 cURL 指令存取 API。對於喜歡使用命令列工具或需要將 PDF 標頭編輯整合到更大的自動化工作流程中的開發人員來說,這種方法非常有用。

現在,為了使用 REST API,我們需要透過執行以下命令根據您的客戶端憑證產生 JSON Web accessToken (JWT)。

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"

一旦我們有了 JWT 令牌,請嘗試使用以下命令在第 1 頁和第 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}"

使用 cURL 指令向 PDF 新增圖像標題

請嘗試使用以下 cURL 命令將圖像標題新增至 PDF 文件並將生成的文件保存在雲端儲存中。在下列命令中,圖像標題位於文件的第 1 頁和第 2 頁,其中不透明度定義為 0.7,縮放係數為 0.5,圖像高度和寬度屬性定義為 120 點。

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}"

結論

總之,在 PDF 文件的標題中添加圖像和文字是一項有用的功能,可以增強文件的視覺吸引力和品牌影響力。使用 Aspose.PDF Cloud SDK for Python,只需幾行程式碼即可完成這項簡單的任務。無論您建立發票、報告或任何其他需要標題的文檔,此功能都可以節省您的時間和精力,同時提高輸出品質。除了使用 Aspose.PDF Cloud SDK for Python 之外,我們還了解到也可以使用 cURL 命令將圖像和文字新增至 PDF 標題。

我們希望本文能為您提供所有必要的指導和靈感,以便將此功能添加到您的 Python 應用程式中。

有用的連結

-免費客戶支援論壇

-開發者指南

-API 參考

相關文章

我們建議您閱讀以下文章來了解: