
在建立專業且具有視覺吸引力的 PDF 文件時,能夠為頁眉添加圖像和文字是一項必備功能。標題部分是文件中最重要的區域之一,因為它為讀者提供標題、作者和日期等重要資訊。雖然為標題添加文字是一個相對簡單的過程,但添加圖像可能更具挑戰性,特別是對於剛接觸 PDF 文件生成的 Python 開發人員。在本文中,我們將探討如何使用 Python Cloud SDK 為 PDF 文件的標題新增圖像和文字。
您可以在 PDF 頁眉中新增圖像、標誌、建立文件的日期和時間、文件標題、版本或修訂號、草稿、作者姓名和章節名稱。
- PDF 文件組裝的 REST API
- 使用 Python 將文字加入 PDF 頁眉
- 使用 Python 將圖像新增至 PDF 標題
- 使用 cURL 指令為 PDF 新增文字標題
- 使用 cURL 指令向 PDF 新增圖像標題
PDF 文件組裝的 REST API
Aspose.PDF Cloud SDK for Python提供了多種函數和方法,讓開發人員以程式方式操作PDF檔案。它還提供了一套強大而靈活的工具,用於向 PDF 文件標題添加圖像和文本,並且可以輕鬆整合到 Python 應用程式中以實現自動化 PDF 文件處理。現在關於為頁首添加圖像的過程,它涉及指定圖像的位置和尺寸,以及圖像應出現的頁碼。同樣,向頁眉添加文字需要指定文字內容、字體大小和其他格式選項。 SDK 還提供了控制頁眉內容的對齊和定位以及指定頁眉背景顏色的選項。
現在,我們首先需要安裝 SDK,它可以透過 PIP 和 GitHub 儲存庫免費下載。只需執行以下命令即可安裝最新版本的 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)

圖 2:PDF 文件中文字標題的預覽。
輸入和產生的 PDF 檔案可從 awesomeTable.pdf 和 awesomeTable-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 應用程式中。
有用的連結
相關文章
我們建議您閱讀以下文章來了解: