将文本和图像添加到 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 参考

相关文章

我们建议您阅读以下文章来了解: